1. Packages
  2. Authentik Provider
  3. API Docs
  4. OutpostProviderAttachment
authentik 2025.10.1 published on Tuesday, Nov 25, 2025 by goauthentik
authentik logo
authentik 2025.10.1 published on Tuesday, Nov 25, 2025 by goauthentik

    Example Usage

    import * as pulumi from "@pulumi/pulumi";
    import * as authentik from "@pulumi/authentik";
    
    // Create an outpost with a proxy provider
    const proxy = new authentik.ProviderProxy("proxy", {
        name: "proxy",
        authorizationFlow: default_authorization_flow.id,
        externalHost: "http://foo.bar.baz",
        internalHost: "http://internal.local",
    });
    const outpost = new authentik.Outpost("outpost", {name: "test-outpost"});
    const attachment = new authentik.OutpostProviderAttachment("attachment", {
        outpost: outpost.outpostId,
        protocolProvider: proxy.providerProxyId,
    });
    // Use an existing outpost (e.g. embedded outpost)
    const embedded = authentik.getOutpost({
        name: "authentik Embedded Outpost",
    });
    const attachmentEmbedded = new authentik.OutpostProviderAttachment("attachment_embedded", {
        outpost: embedded.then(embedded => embedded.id),
        protocolProvider: proxy.providerProxyId,
    });
    
    import pulumi
    import pulumi_authentik as authentik
    
    # Create an outpost with a proxy provider
    proxy = authentik.ProviderProxy("proxy",
        name="proxy",
        authorization_flow=default_authorization_flow["id"],
        external_host="http://foo.bar.baz",
        internal_host="http://internal.local")
    outpost = authentik.Outpost("outpost", name="test-outpost")
    attachment = authentik.OutpostProviderAttachment("attachment",
        outpost=outpost.outpost_id,
        protocol_provider=proxy.provider_proxy_id)
    # Use an existing outpost (e.g. embedded outpost)
    embedded = authentik.get_outpost(name="authentik Embedded Outpost")
    attachment_embedded = authentik.OutpostProviderAttachment("attachment_embedded",
        outpost=embedded.id,
        protocol_provider=proxy.provider_proxy_id)
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-terraform-provider/sdks/go/authentik/v2025/authentik"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		// Create an outpost with a proxy provider
    		proxy, err := authentik.NewProviderProxy(ctx, "proxy", &authentik.ProviderProxyArgs{
    			Name:              pulumi.String("proxy"),
    			AuthorizationFlow: pulumi.Any(default_authorization_flow.Id),
    			ExternalHost:      pulumi.String("http://foo.bar.baz"),
    			InternalHost:      pulumi.String("http://internal.local"),
    		})
    		if err != nil {
    			return err
    		}
    		outpost, err := authentik.NewOutpost(ctx, "outpost", &authentik.OutpostArgs{
    			Name: pulumi.String("test-outpost"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = authentik.NewOutpostProviderAttachment(ctx, "attachment", &authentik.OutpostProviderAttachmentArgs{
    			Outpost:          outpost.OutpostId,
    			ProtocolProvider: proxy.ProviderProxyId,
    		})
    		if err != nil {
    			return err
    		}
    		// Use an existing outpost (e.g. embedded outpost)
    		embedded, err := authentik.LookupOutpost(ctx, &authentik.LookupOutpostArgs{
    			Name: pulumi.StringRef("authentik Embedded Outpost"),
    		}, nil)
    		if err != nil {
    			return err
    		}
    		_, err = authentik.NewOutpostProviderAttachment(ctx, "attachment_embedded", &authentik.OutpostProviderAttachmentArgs{
    			Outpost:          pulumi.String(embedded.Id),
    			ProtocolProvider: proxy.ProviderProxyId,
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Authentik = Pulumi.Authentik;
    
    return await Deployment.RunAsync(() => 
    {
        // Create an outpost with a proxy provider
        var proxy = new Authentik.ProviderProxy("proxy", new()
        {
            Name = "proxy",
            AuthorizationFlow = default_authorization_flow.Id,
            ExternalHost = "http://foo.bar.baz",
            InternalHost = "http://internal.local",
        });
    
        var outpost = new Authentik.Outpost("outpost", new()
        {
            Name = "test-outpost",
        });
    
        var attachment = new Authentik.OutpostProviderAttachment("attachment", new()
        {
            Outpost = outpost.OutpostId,
            ProtocolProvider = proxy.ProviderProxyId,
        });
    
        // Use an existing outpost (e.g. embedded outpost)
        var embedded = Authentik.GetOutpost.Invoke(new()
        {
            Name = "authentik Embedded Outpost",
        });
    
        var attachmentEmbedded = new Authentik.OutpostProviderAttachment("attachment_embedded", new()
        {
            Outpost = embedded.Apply(getOutpostResult => getOutpostResult.Id),
            ProtocolProvider = proxy.ProviderProxyId,
        });
    
    });
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.authentik.ProviderProxy;
    import com.pulumi.authentik.ProviderProxyArgs;
    import com.pulumi.authentik.Outpost;
    import com.pulumi.authentik.OutpostArgs;
    import com.pulumi.authentik.OutpostProviderAttachment;
    import com.pulumi.authentik.OutpostProviderAttachmentArgs;
    import com.pulumi.authentik.AuthentikFunctions;
    import com.pulumi.authentik.inputs.GetOutpostArgs;
    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 an outpost with a proxy provider
            var proxy = new ProviderProxy("proxy", ProviderProxyArgs.builder()
                .name("proxy")
                .authorizationFlow(default_authorization_flow.id())
                .externalHost("http://foo.bar.baz")
                .internalHost("http://internal.local")
                .build());
    
            var outpost = new Outpost("outpost", OutpostArgs.builder()
                .name("test-outpost")
                .build());
    
            var attachment = new OutpostProviderAttachment("attachment", OutpostProviderAttachmentArgs.builder()
                .outpost(outpost.outpostId())
                .protocolProvider(proxy.providerProxyId())
                .build());
    
            // Use an existing outpost (e.g. embedded outpost)
            final var embedded = AuthentikFunctions.getOutpost(GetOutpostArgs.builder()
                .name("authentik Embedded Outpost")
                .build());
    
            var attachmentEmbedded = new OutpostProviderAttachment("attachmentEmbedded", OutpostProviderAttachmentArgs.builder()
                .outpost(embedded.id())
                .protocolProvider(proxy.providerProxyId())
                .build());
    
        }
    }
    
    resources:
      # Create an outpost with a proxy provider
      proxy:
        type: authentik:ProviderProxy
        properties:
          name: proxy
          authorizationFlow: ${["default-authorization-flow"].id}
          externalHost: http://foo.bar.baz
          internalHost: http://internal.local
      outpost:
        type: authentik:Outpost
        properties:
          name: test-outpost
      attachment:
        type: authentik:OutpostProviderAttachment
        properties:
          outpost: ${outpost.outpostId}
          protocolProvider: ${proxy.providerProxyId}
      attachmentEmbedded:
        type: authentik:OutpostProviderAttachment
        name: attachment_embedded
        properties:
          outpost: ${embedded.id}
          protocolProvider: ${proxy.providerProxyId}
    variables:
      # Use an existing outpost (e.g. embedded outpost)
      embedded:
        fn::invoke:
          function: authentik:getOutpost
          arguments:
            name: authentik Embedded Outpost
    

    Create OutpostProviderAttachment Resource

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

    Constructor syntax

    new OutpostProviderAttachment(name: string, args: OutpostProviderAttachmentArgs, opts?: CustomResourceOptions);
    @overload
    def OutpostProviderAttachment(resource_name: str,
                                  args: OutpostProviderAttachmentArgs,
                                  opts: Optional[ResourceOptions] = None)
    
    @overload
    def OutpostProviderAttachment(resource_name: str,
                                  opts: Optional[ResourceOptions] = None,
                                  outpost: Optional[str] = None,
                                  protocol_provider: Optional[float] = None,
                                  outpost_provider_attachment_id: Optional[str] = None)
    func NewOutpostProviderAttachment(ctx *Context, name string, args OutpostProviderAttachmentArgs, opts ...ResourceOption) (*OutpostProviderAttachment, error)
    public OutpostProviderAttachment(string name, OutpostProviderAttachmentArgs args, CustomResourceOptions? opts = null)
    public OutpostProviderAttachment(String name, OutpostProviderAttachmentArgs args)
    public OutpostProviderAttachment(String name, OutpostProviderAttachmentArgs args, CustomResourceOptions options)
    
    type: authentik:OutpostProviderAttachment
    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 OutpostProviderAttachmentArgs
    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 OutpostProviderAttachmentArgs
    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 OutpostProviderAttachmentArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args OutpostProviderAttachmentArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args OutpostProviderAttachmentArgs
    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 outpostProviderAttachmentResource = new Authentik.OutpostProviderAttachment("outpostProviderAttachmentResource", new()
    {
        Outpost = "string",
        ProtocolProvider = 0,
        OutpostProviderAttachmentId = "string",
    });
    
    example, err := authentik.NewOutpostProviderAttachment(ctx, "outpostProviderAttachmentResource", &authentik.OutpostProviderAttachmentArgs{
    	Outpost:                     pulumi.String("string"),
    	ProtocolProvider:            pulumi.Float64(0),
    	OutpostProviderAttachmentId: pulumi.String("string"),
    })
    
    var outpostProviderAttachmentResource = new OutpostProviderAttachment("outpostProviderAttachmentResource", OutpostProviderAttachmentArgs.builder()
        .outpost("string")
        .protocolProvider(0.0)
        .outpostProviderAttachmentId("string")
        .build());
    
    outpost_provider_attachment_resource = authentik.OutpostProviderAttachment("outpostProviderAttachmentResource",
        outpost="string",
        protocol_provider=0,
        outpost_provider_attachment_id="string")
    
    const outpostProviderAttachmentResource = new authentik.OutpostProviderAttachment("outpostProviderAttachmentResource", {
        outpost: "string",
        protocolProvider: 0,
        outpostProviderAttachmentId: "string",
    });
    
    type: authentik:OutpostProviderAttachment
    properties:
        outpost: string
        outpostProviderAttachmentId: string
        protocolProvider: 0
    

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

    Outpost string
    The ID of the outpost.
    ProtocolProvider double
    The ID of the provider.
    OutpostProviderAttachmentId string
    The ID of this resource.
    Outpost string
    The ID of the outpost.
    ProtocolProvider float64
    The ID of the provider.
    OutpostProviderAttachmentId string
    The ID of this resource.
    outpost String
    The ID of the outpost.
    protocolProvider Double
    The ID of the provider.
    outpostProviderAttachmentId String
    The ID of this resource.
    outpost string
    The ID of the outpost.
    protocolProvider number
    The ID of the provider.
    outpostProviderAttachmentId string
    The ID of this resource.
    outpost str
    The ID of the outpost.
    protocol_provider float
    The ID of the provider.
    outpost_provider_attachment_id str
    The ID of this resource.
    outpost String
    The ID of the outpost.
    protocolProvider Number
    The ID of the provider.
    outpostProviderAttachmentId String
    The ID of this resource.

    Outputs

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

    Id string
    The provider-assigned unique ID for this managed resource.
    Id string
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.
    id string
    The provider-assigned unique ID for this managed resource.
    id str
    The provider-assigned unique ID for this managed resource.
    id String
    The provider-assigned unique ID for this managed resource.

    Look up Existing OutpostProviderAttachment Resource

    Get an existing OutpostProviderAttachment 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?: OutpostProviderAttachmentState, opts?: CustomResourceOptions): OutpostProviderAttachment
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            outpost: Optional[str] = None,
            outpost_provider_attachment_id: Optional[str] = None,
            protocol_provider: Optional[float] = None) -> OutpostProviderAttachment
    func GetOutpostProviderAttachment(ctx *Context, name string, id IDInput, state *OutpostProviderAttachmentState, opts ...ResourceOption) (*OutpostProviderAttachment, error)
    public static OutpostProviderAttachment Get(string name, Input<string> id, OutpostProviderAttachmentState? state, CustomResourceOptions? opts = null)
    public static OutpostProviderAttachment get(String name, Output<String> id, OutpostProviderAttachmentState state, CustomResourceOptions options)
    resources:  _:    type: authentik:OutpostProviderAttachment    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:
    Outpost string
    The ID of the outpost.
    OutpostProviderAttachmentId string
    The ID of this resource.
    ProtocolProvider double
    The ID of the provider.
    Outpost string
    The ID of the outpost.
    OutpostProviderAttachmentId string
    The ID of this resource.
    ProtocolProvider float64
    The ID of the provider.
    outpost String
    The ID of the outpost.
    outpostProviderAttachmentId String
    The ID of this resource.
    protocolProvider Double
    The ID of the provider.
    outpost string
    The ID of the outpost.
    outpostProviderAttachmentId string
    The ID of this resource.
    protocolProvider number
    The ID of the provider.
    outpost str
    The ID of the outpost.
    outpost_provider_attachment_id str
    The ID of this resource.
    protocol_provider float
    The ID of the provider.
    outpost String
    The ID of the outpost.
    outpostProviderAttachmentId String
    The ID of this resource.
    protocolProvider Number
    The ID of the provider.

    Package Details

    Repository
    authentik goauthentik/terraform-provider-authentik
    License
    Notes
    This Pulumi package is based on the authentik Terraform Provider.
    authentik logo
    authentik 2025.10.1 published on Tuesday, Nov 25, 2025 by goauthentik
      Meet Neo: Your AI Platform Teammate