1. Packages
  2. F5bigip Provider
  3. API Docs
  4. sys
  5. Ifile
Viewing docs for f5 BIG-IP v3.20.1
published on Thursday, Mar 19, 2026 by Pulumi
f5bigip logo
Viewing docs for f5 BIG-IP v3.20.1
published on Thursday, Mar 19, 2026 by Pulumi

    f5bigip.sys.Ifile This resource uploads and manages system iFiles on F5 BIG-IP devices. System iFiles store file content on the BIG-IP that can be referenced by iRules, LTM policies, and other BIG-IP configurations for traffic processing and decision making.

    Example Usage

    System iFile with Sub-path

    import * as pulumi from "@pulumi/pulumi";
    import * as f5bigip from "@pulumi/f5bigip";
    
    const templateFile = new f5bigip.sys.Ifile("template_file", {
        name: "error-template",
        partition: "Common",
        subPath: "templates",
        content: `<html>
      <head><title>Service Unavailable</title></head>
      <body>
        <h1>503 - Service Temporarily Unavailable</h1>
        <p>Please try again later.</p>
      </body>
    </html>
    `,
    });
    
    import pulumi
    import pulumi_f5bigip as f5bigip
    
    template_file = f5bigip.sys.Ifile("template_file",
        name="error-template",
        partition="Common",
        sub_path="templates",
        content="""<html>
      <head><title>Service Unavailable</title></head>
      <body>
        <h1>503 - Service Temporarily Unavailable</h1>
        <p>Please try again later.</p>
      </body>
    </html>
    """)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		_, err := sys.NewIfile(ctx, "template_file", &sys.IfileArgs{
    			Name:      pulumi.String("error-template"),
    			Partition: pulumi.String("Common"),
    			SubPath:   pulumi.String("templates"),
    			Content: pulumi.String(`<html>
      <head><title>Service Unavailable</title></head>
      <body>
        <h1>503 - Service Temporarily Unavailable</h1>
        <p>Please try again later.</p>
      </body>
    </html>
    `),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using F5BigIP = Pulumi.F5BigIP;
    
    return await Deployment.RunAsync(() => 
    {
        var templateFile = new F5BigIP.Sys.Ifile("template_file", new()
        {
            Name = "error-template",
            Partition = "Common",
            SubPath = "templates",
            Content = @"<html>
      <head><title>Service Unavailable</title></head>
      <body>
        <h1>503 - Service Temporarily Unavailable</h1>
        <p>Please try again later.</p>
      </body>
    </html>
    ",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.f5bigip.sys.Ifile;
    import com.pulumi.f5bigip.sys.IfileArgs;
    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) {
            var templateFile = new Ifile("templateFile", IfileArgs.builder()
                .name("error-template")
                .partition("Common")
                .subPath("templates")
                .content("""
    <html>
      <head><title>Service Unavailable</title></head>
      <body>
        <h1>503 - Service Temporarily Unavailable</h1>
        <p>Please try again later.</p>
      </body>
    </html>
                """)
                .build());
    
        }
    }
    
    resources:
      templateFile:
        type: f5bigip:sys:Ifile
        name: template_file
        properties:
          name: error-template
          partition: Common
          subPath: templates
          content: |
            <html>
              <head><title>Service Unavailable</title></head>
              <body>
                <h1>503 - Service Temporarily Unavailable</h1>
                <p>Please try again later.</p>
              </body>
            </html>
    

    JSON Configuration File

    import * as pulumi from "@pulumi/pulumi";
    import * as f5bigip from "@pulumi/f5bigip";
    
    const serverList = JSON.stringify({
        servers: [
            {
                name: "web1",
                ip: "10.1.1.10",
                port: 80,
            },
            {
                name: "web2",
                ip: "10.1.1.11",
                port: 80,
            },
            {
                name: "web3",
                ip: "10.1.1.12",
                port: 80,
            },
        ],
    });
    const serverConfig = new f5bigip.sys.Ifile("server_config", {
        name: "server-list",
        partition: "MyApp",
        content: serverList,
    });
    
    import pulumi
    import json
    import pulumi_f5bigip as f5bigip
    
    server_list = json.dumps({
        "servers": [
            {
                "name": "web1",
                "ip": "10.1.1.10",
                "port": 80,
            },
            {
                "name": "web2",
                "ip": "10.1.1.11",
                "port": 80,
            },
            {
                "name": "web3",
                "ip": "10.1.1.12",
                "port": 80,
            },
        ],
    })
    server_config = f5bigip.sys.Ifile("server_config",
        name="server-list",
        partition="MyApp",
        content=server_list)
    
    package main
    
    import (
    	"encoding/json"
    
    	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		tmpJSON0, err := json.Marshal(map[string]interface{}{
    			"servers": []map[string]interface{}{
    				map[string]interface{}{
    					"name": "web1",
    					"ip":   "10.1.1.10",
    					"port": 80,
    				},
    				map[string]interface{}{
    					"name": "web2",
    					"ip":   "10.1.1.11",
    					"port": 80,
    				},
    				map[string]interface{}{
    					"name": "web3",
    					"ip":   "10.1.1.12",
    					"port": 80,
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		json0 := string(tmpJSON0)
    		serverList := json0
    		_, err = sys.NewIfile(ctx, "server_config", &sys.IfileArgs{
    			Name:      pulumi.String("server-list"),
    			Partition: pulumi.String("MyApp"),
    			Content:   pulumi.String(serverList),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using System.Text.Json;
    using Pulumi;
    using F5BigIP = Pulumi.F5BigIP;
    
    return await Deployment.RunAsync(() => 
    {
        var serverList = JsonSerializer.Serialize(new Dictionary<string, object?>
        {
            ["servers"] = new[]
            {
                new Dictionary<string, object?>
                {
                    ["name"] = "web1",
                    ["ip"] = "10.1.1.10",
                    ["port"] = 80,
                },
                new Dictionary<string, object?>
                {
                    ["name"] = "web2",
                    ["ip"] = "10.1.1.11",
                    ["port"] = 80,
                },
                new Dictionary<string, object?>
                {
                    ["name"] = "web3",
                    ["ip"] = "10.1.1.12",
                    ["port"] = 80,
                },
            },
        });
    
        var serverConfig = new F5BigIP.Sys.Ifile("server_config", new()
        {
            Name = "server-list",
            Partition = "MyApp",
            Content = serverList,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.f5bigip.sys.Ifile;
    import com.pulumi.f5bigip.sys.IfileArgs;
    import static com.pulumi.codegen.internal.Serialization.*;
    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 serverList = serializeJson(
                jsonObject(
                    jsonProperty("servers", jsonArray(
                        jsonObject(
                            jsonProperty("name", "web1"),
                            jsonProperty("ip", "10.1.1.10"),
                            jsonProperty("port", 80)
                        ), 
                        jsonObject(
                            jsonProperty("name", "web2"),
                            jsonProperty("ip", "10.1.1.11"),
                            jsonProperty("port", 80)
                        ), 
                        jsonObject(
                            jsonProperty("name", "web3"),
                            jsonProperty("ip", "10.1.1.12"),
                            jsonProperty("port", 80)
                        )
                    ))
                ));
    
            var serverConfig = new Ifile("serverConfig", IfileArgs.builder()
                .name("server-list")
                .partition("MyApp")
                .content(serverList)
                .build());
    
        }
    }
    
    resources:
      serverConfig:
        type: f5bigip:sys:Ifile
        name: server_config
        properties:
          name: server-list
          partition: MyApp
          content: ${serverList}
    variables:
      serverList:
        fn::toJSON:
          servers:
            - name: web1
              ip: 10.1.1.10
              port: 80
            - name: web2
              ip: 10.1.1.11
              port: 80
            - name: web3
              ip: 10.1.1.12
              port: 80
    

    Using System iFile with LTM iFile

    import * as pulumi from "@pulumi/pulumi";
    import * as f5bigip from "@pulumi/f5bigip";
    
    // Create system iFile with content
    const lookupTable = new f5bigip.sys.Ifile("lookup_table", {
        name: "url-rewrite-map",
        partition: "Common",
        content: `/old-api/v1/ /api/v2/
    /legacy/ /new/
    /deprecated/ /current/
    `,
    });
    // Create LTM iFile that references the system iFile
    const ltmLookup = new f5bigip.ltm.Ifile("ltm_lookup", {
        name: "ltm-url-rewrite-map",
        partition: "Common",
        fileName: "/Common/url-rewrite-map",
    });
    // Use in an iRule
    const urlRewriter = new f5bigip.ltm.IRule("url_rewriter", {
        name: "url-rewrite-rule",
        irule: `when HTTP_REQUEST {
      set uri [HTTP::uri]
      set mapping [ifile get ltm-url-rewrite-map]
      foreach line [split mapping \\"\\
    \\"] {
        set parts [split line \\" \\"]
        if {[string match [lindex parts 0]* uri]} {
          HTTP::uri [string map [list [lindex parts 0] [lindex parts 1]] uri]
          break
        }
      }
    }
    `,
    });
    
    import pulumi
    import pulumi_f5bigip as f5bigip
    
    # Create system iFile with content
    lookup_table = f5bigip.sys.Ifile("lookup_table",
        name="url-rewrite-map",
        partition="Common",
        content="""/old-api/v1/ /api/v2/
    /legacy/ /new/
    /deprecated/ /current/
    """)
    # Create LTM iFile that references the system iFile
    ltm_lookup = f5bigip.ltm.Ifile("ltm_lookup",
        name="ltm-url-rewrite-map",
        partition="Common",
        file_name="/Common/url-rewrite-map")
    # Use in an iRule
    url_rewriter = f5bigip.ltm.IRule("url_rewriter",
        name="url-rewrite-rule",
        irule="""when HTTP_REQUEST {
      set uri [HTTP::uri]
      set mapping [ifile get ltm-url-rewrite-map]
      foreach line [split $mapping \"\
    \"] {
        set parts [split $line \" \"]
        if {[string match [lindex $parts 0]* $uri]} {
          HTTP::uri [string map [list [lindex $parts 0] [lindex $parts 1]] $uri]
          break
        }
      }
    }
    """)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/ltm"
    	"github.com/pulumi/pulumi-f5bigip/sdk/v3/go/f5bigip/sys"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Create system iFile with content
    		_, err := sys.NewIfile(ctx, "lookup_table", &sys.IfileArgs{
    			Name:      pulumi.String("url-rewrite-map"),
    			Partition: pulumi.String("Common"),
    			Content:   pulumi.String("/old-api/v1/ /api/v2/\n/legacy/ /new/\n/deprecated/ /current/\n"),
    		})
    		if err != nil {
    			return err
    		}
    		// Create LTM iFile that references the system iFile
    		_, err = ltm.NewIfile(ctx, "ltm_lookup", &ltm.IfileArgs{
    			Name:      pulumi.String("ltm-url-rewrite-map"),
    			Partition: pulumi.String("Common"),
    			FileName:  pulumi.String("/Common/url-rewrite-map"),
    		})
    		if err != nil {
    			return err
    		}
    		// Use in an iRule
    		_, err = ltm.NewIRule(ctx, "url_rewriter", &ltm.IRuleArgs{
    			Name: pulumi.String("url-rewrite-rule"),
    			Irule: pulumi.String(`when HTTP_REQUEST {
      set uri [HTTP::uri]
      set mapping [ifile get ltm-url-rewrite-map]
      foreach line [split $mapping \"\
    \"] {
        set parts [split $line \" \"]
        if {[string match [lindex $parts 0]* $uri]} {
          HTTP::uri [string map [list [lindex $parts 0] [lindex $parts 1]] $uri]
          break
        }
      }
    }
    `),
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using F5BigIP = Pulumi.F5BigIP;
    
    return await Deployment.RunAsync(() => 
    {
        // Create system iFile with content
        var lookupTable = new F5BigIP.Sys.Ifile("lookup_table", new()
        {
            Name = "url-rewrite-map",
            Partition = "Common",
            Content = @"/old-api/v1/ /api/v2/
    /legacy/ /new/
    /deprecated/ /current/
    ",
        });
    
        // Create LTM iFile that references the system iFile
        var ltmLookup = new F5BigIP.Ltm.Ifile("ltm_lookup", new()
        {
            Name = "ltm-url-rewrite-map",
            Partition = "Common",
            FileName = "/Common/url-rewrite-map",
        });
    
        // Use in an iRule
        var urlRewriter = new F5BigIP.Ltm.IRule("url_rewriter", new()
        {
            Name = "url-rewrite-rule",
            Irule = @"when HTTP_REQUEST {
      set uri [HTTP::uri]
      set mapping [ifile get ltm-url-rewrite-map]
      foreach line [split $mapping \""\
    \""] {
        set parts [split $line \"" \""]
        if {[string match [lindex $parts 0]* $uri]} {
          HTTP::uri [string map [list [lindex $parts 0] [lindex $parts 1]] $uri]
          break
        }
      }
    }
    ",
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.f5bigip.ltm.IRule;
    import com.pulumi.f5bigip.ltm.IRuleArgs;
    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 system iFile with content
            var lookupTable = new com.pulumi.f5bigip.sys.Ifile("lookupTable", com.pulumi.f5bigip.sys.IfileArgs.builder()
                .name("url-rewrite-map")
                .partition("Common")
                .content("""
    /old-api/v1/ /api/v2/
    /legacy/ /new/
    /deprecated/ /current/
                """)
                .build());
    
            // Create LTM iFile that references the system iFile
            var ltmLookup = new com.pulumi.f5bigip.ltm.Ifile("ltmLookup", com.pulumi.f5bigip.ltm.IfileArgs.builder()
                .name("ltm-url-rewrite-map")
                .partition("Common")
                .fileName("/Common/url-rewrite-map")
                .build());
    
            // Use in an iRule
            var urlRewriter = new IRule("urlRewriter", IRuleArgs.builder()
                .name("url-rewrite-rule")
                .irule("""
    when HTTP_REQUEST {
      set uri [HTTP::uri]
      set mapping [ifile get ltm-url-rewrite-map]
      foreach line [split $mapping \"\
    \"] {
        set parts [split $line \" \"]
        if {[string match [lindex $parts 0]* $uri]} {
          HTTP::uri [string map [list [lindex $parts 0] [lindex $parts 1]] $uri]
          break
        }
      }
    }
                """)
                .build());
    
        }
    }
    
    resources:
      # Create system iFile with content
      lookupTable:
        type: f5bigip:sys:Ifile
        name: lookup_table
        properties:
          name: url-rewrite-map
          partition: Common
          content: |
            /old-api/v1/ /api/v2/
            /legacy/ /new/
            /deprecated/ /current/
      # Create LTM iFile that references the system iFile
      ltmLookup:
        type: f5bigip:ltm:Ifile
        name: ltm_lookup
        properties:
          name: ltm-url-rewrite-map
          partition: Common
          fileName: /Common/url-rewrite-map
      # Use in an iRule
      urlRewriter:
        type: f5bigip:ltm:IRule
        name: url_rewriter
        properties:
          name: url-rewrite-rule
          irule: |
            when HTTP_REQUEST {
              set uri [HTTP::uri]
              set mapping [ifile get ltm-url-rewrite-map]
              foreach line [split $mapping \"\
            \"] {
                set parts [split $line \" \"]
                if {[string match [lindex $parts 0]* $uri]} {
                  HTTP::uri [string map [list [lindex $parts 0] [lindex $parts 1]] $uri]
                  break
                }
              }
            }
    

    Notes

    • The content field is marked as sensitive and will not be displayed in Terraform logs or state output.
    • Changes to name will force recreation of the resource since iFile names cannot be changed after creation.
    • The checksum and size attributes are automatically computed by the BIG-IP system.
    • iFile content is uploaded to the BIG-IP system and stored there permanently until the resource is destroyed.
    • Use file() function to load content from local files or templatefile() for dynamic content generation.
    • System iFiles can be referenced by f5bigip.ltm.Ifile resources for use in LTM configurations.

    Path Structure

    The full path of an iFile follows this pattern:

    • Without sub-path: /{partition}/{name}
    • With sub-path: /{partition}/{sub_path}/{name}

    Examples:

    • /Common/config-file
    • /Production/templates/error-page
    • /MyApp/configs/database-settings
    • f5bigip.ltm.Ifile - Creates LTM iFiles that reference system iFiles
    • f5bigip.ltm.IRule - Creates iRules that can access iFile content
    • f5bigip.ltm.Policy - Creates LTM policies that can use iFile content

    Security Considerations

    • iFile content is stored on the BIG-IP system and may contain sensitive information
    • Use appropriate BIG-IP access controls to limit who can view or modify iFiles
    • Consider using Terraform’s sensitive variable handling for confidential content
    • The content field is marked as sensitive in Terraform state to prevent accidental exposure

    Create Ifile Resource

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

    Constructor syntax

    new Ifile(name: string, args: IfileArgs, opts?: CustomResourceOptions);
    @overload
    def Ifile(resource_name: str,
              args: IfileArgs,
              opts: Optional[ResourceOptions] = None)
    
    @overload
    def Ifile(resource_name: str,
              opts: Optional[ResourceOptions] = None,
              content: Optional[str] = None,
              name: Optional[str] = None,
              partition: Optional[str] = None,
              sub_path: Optional[str] = None)
    func NewIfile(ctx *Context, name string, args IfileArgs, opts ...ResourceOption) (*Ifile, error)
    public Ifile(string name, IfileArgs args, CustomResourceOptions? opts = null)
    public Ifile(String name, IfileArgs args)
    public Ifile(String name, IfileArgs args, CustomResourceOptions options)
    
    type: f5bigip:sys:Ifile
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args IfileArgs
    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 IfileArgs
    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 IfileArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args IfileArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args IfileArgs
    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 f5bigipIfileResource = new F5BigIP.Sys.Ifile("f5bigipIfileResource", new()
    {
        Content = "string",
        Name = "string",
        Partition = "string",
        SubPath = "string",
    });
    
    example, err := sys.NewIfile(ctx, "f5bigipIfileResource", &sys.IfileArgs{
    	Content:   pulumi.String("string"),
    	Name:      pulumi.String("string"),
    	Partition: pulumi.String("string"),
    	SubPath:   pulumi.String("string"),
    })
    
    var f5bigipIfileResource = new com.pulumi.f5bigip.sys.Ifile("f5bigipIfileResource", com.pulumi.f5bigip.sys.IfileArgs.builder()
        .content("string")
        .name("string")
        .partition("string")
        .subPath("string")
        .build());
    
    f5bigip_ifile_resource = f5bigip.sys.Ifile("f5bigipIfileResource",
        content="string",
        name="string",
        partition="string",
        sub_path="string")
    
    const f5bigipIfileResource = new f5bigip.sys.Ifile("f5bigipIfileResource", {
        content: "string",
        name: "string",
        partition: "string",
        subPath: "string",
    });
    
    type: f5bigip:sys:Ifile
    properties:
        content: string
        name: string
        partition: string
        subPath: string
    

    Ifile 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 Ifile resource accepts the following input properties:

    Content string
    The content of the iFile. This can be inline text, file content loaded with file(), or dynamically generated content. This field is marked as sensitive.
    Name string
    Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.
    Partition string
    Partition where the iFile will be stored. Defaults to Common.
    SubPath string
    Subdirectory within the partition for organizing iFiles hierarchically.
    Content string
    The content of the iFile. This can be inline text, file content loaded with file(), or dynamically generated content. This field is marked as sensitive.
    Name string
    Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.
    Partition string
    Partition where the iFile will be stored. Defaults to Common.
    SubPath string
    Subdirectory within the partition for organizing iFiles hierarchically.
    content String
    The content of the iFile. This can be inline text, file content loaded with file(), or dynamically generated content. This field is marked as sensitive.
    name String
    Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.
    partition String
    Partition where the iFile will be stored. Defaults to Common.
    subPath String
    Subdirectory within the partition for organizing iFiles hierarchically.
    content string
    The content of the iFile. This can be inline text, file content loaded with file(), or dynamically generated content. This field is marked as sensitive.
    name string
    Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.
    partition string
    Partition where the iFile will be stored. Defaults to Common.
    subPath string
    Subdirectory within the partition for organizing iFiles hierarchically.
    content str
    The content of the iFile. This can be inline text, file content loaded with file(), or dynamically generated content. This field is marked as sensitive.
    name str
    Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.
    partition str
    Partition where the iFile will be stored. Defaults to Common.
    sub_path str
    Subdirectory within the partition for organizing iFiles hierarchically.
    content String
    The content of the iFile. This can be inline text, file content loaded with file(), or dynamically generated content. This field is marked as sensitive.
    name String
    Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.
    partition String
    Partition where the iFile will be stored. Defaults to Common.
    subPath String
    Subdirectory within the partition for organizing iFiles hierarchically.

    Outputs

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

    Checksum string
    MD5 checksum of the iFile content, automatically calculated by BIG-IP.
    Id string
    The provider-assigned unique ID for this managed resource.
    Size int
    Size of the iFile content in bytes.
    Checksum string
    MD5 checksum of the iFile content, automatically calculated by BIG-IP.
    Id string
    The provider-assigned unique ID for this managed resource.
    Size int
    Size of the iFile content in bytes.
    checksum String
    MD5 checksum of the iFile content, automatically calculated by BIG-IP.
    id String
    The provider-assigned unique ID for this managed resource.
    size Integer
    Size of the iFile content in bytes.
    checksum string
    MD5 checksum of the iFile content, automatically calculated by BIG-IP.
    id string
    The provider-assigned unique ID for this managed resource.
    size number
    Size of the iFile content in bytes.
    checksum str
    MD5 checksum of the iFile content, automatically calculated by BIG-IP.
    id str
    The provider-assigned unique ID for this managed resource.
    size int
    Size of the iFile content in bytes.
    checksum String
    MD5 checksum of the iFile content, automatically calculated by BIG-IP.
    id String
    The provider-assigned unique ID for this managed resource.
    size Number
    Size of the iFile content in bytes.

    Look up Existing Ifile Resource

    Get an existing Ifile 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?: IfileState, opts?: CustomResourceOptions): Ifile
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            checksum: Optional[str] = None,
            content: Optional[str] = None,
            name: Optional[str] = None,
            partition: Optional[str] = None,
            size: Optional[int] = None,
            sub_path: Optional[str] = None) -> Ifile
    func GetIfile(ctx *Context, name string, id IDInput, state *IfileState, opts ...ResourceOption) (*Ifile, error)
    public static Ifile Get(string name, Input<string> id, IfileState? state, CustomResourceOptions? opts = null)
    public static Ifile get(String name, Output<String> id, IfileState state, CustomResourceOptions options)
    resources:  _:    type: f5bigip:sys:Ifile    get:      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:
    Checksum string
    MD5 checksum of the iFile content, automatically calculated by BIG-IP.
    Content string
    The content of the iFile. This can be inline text, file content loaded with file(), or dynamically generated content. This field is marked as sensitive.
    Name string
    Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.
    Partition string
    Partition where the iFile will be stored. Defaults to Common.
    Size int
    Size of the iFile content in bytes.
    SubPath string
    Subdirectory within the partition for organizing iFiles hierarchically.
    Checksum string
    MD5 checksum of the iFile content, automatically calculated by BIG-IP.
    Content string
    The content of the iFile. This can be inline text, file content loaded with file(), or dynamically generated content. This field is marked as sensitive.
    Name string
    Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.
    Partition string
    Partition where the iFile will be stored. Defaults to Common.
    Size int
    Size of the iFile content in bytes.
    SubPath string
    Subdirectory within the partition for organizing iFiles hierarchically.
    checksum String
    MD5 checksum of the iFile content, automatically calculated by BIG-IP.
    content String
    The content of the iFile. This can be inline text, file content loaded with file(), or dynamically generated content. This field is marked as sensitive.
    name String
    Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.
    partition String
    Partition where the iFile will be stored. Defaults to Common.
    size Integer
    Size of the iFile content in bytes.
    subPath String
    Subdirectory within the partition for organizing iFiles hierarchically.
    checksum string
    MD5 checksum of the iFile content, automatically calculated by BIG-IP.
    content string
    The content of the iFile. This can be inline text, file content loaded with file(), or dynamically generated content. This field is marked as sensitive.
    name string
    Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.
    partition string
    Partition where the iFile will be stored. Defaults to Common.
    size number
    Size of the iFile content in bytes.
    subPath string
    Subdirectory within the partition for organizing iFiles hierarchically.
    checksum str
    MD5 checksum of the iFile content, automatically calculated by BIG-IP.
    content str
    The content of the iFile. This can be inline text, file content loaded with file(), or dynamically generated content. This field is marked as sensitive.
    name str
    Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.
    partition str
    Partition where the iFile will be stored. Defaults to Common.
    size int
    Size of the iFile content in bytes.
    sub_path str
    Subdirectory within the partition for organizing iFiles hierarchically.
    checksum String
    MD5 checksum of the iFile content, automatically calculated by BIG-IP.
    content String
    The content of the iFile. This can be inline text, file content loaded with file(), or dynamically generated content. This field is marked as sensitive.
    name String
    Name of the system iFile to be created on BIG-IP. Changing this forces a new resource to be created.
    partition String
    Partition where the iFile will be stored. Defaults to Common.
    size Number
    Size of the iFile content in bytes.
    subPath String
    Subdirectory within the partition for organizing iFiles hierarchically.

    Import

    System iFiles can be imported using their full path:

    $ pulumi import f5bigip:sys/ifile:Ifile example /Common/my-ifile
    

    For iFiles with sub-paths:

    $ pulumi import f5bigip:sys/ifile:Ifile example /Common/templates/my-ifile
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    f5 BIG-IP pulumi/pulumi-f5bigip
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the bigip Terraform Provider.
    f5bigip logo
    Viewing docs for f5 BIG-IP v3.20.1
    published on Thursday, Mar 19, 2026 by Pulumi
      Try Pulumi Cloud free. Your team will thank you.