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.
- Protocol
Provider double - The ID of the provider.
- Outpost
Provider stringAttachment Id - The ID of this resource.
- Outpost string
- The ID of the outpost.
- Protocol
Provider float64 - The ID of the provider.
- Outpost
Provider stringAttachment Id - The ID of this resource.
- outpost String
- The ID of the outpost.
- protocol
Provider Double - The ID of the provider.
- outpost
Provider StringAttachment Id - The ID of this resource.
- outpost string
- The ID of the outpost.
- protocol
Provider number - The ID of the provider.
- outpost
Provider stringAttachment Id - The ID of this resource.
- outpost str
- The ID of the outpost.
- protocol_
provider float - The ID of the provider.
- outpost_
provider_ strattachment_ id - The ID of this resource.
- outpost String
- The ID of the outpost.
- protocol
Provider Number - The ID of the provider.
- outpost
Provider StringAttachment Id - 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) -> OutpostProviderAttachmentfunc 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.
- Outpost string
- The ID of the outpost.
- Outpost
Provider stringAttachment Id - The ID of this resource.
- Protocol
Provider double - The ID of the provider.
- Outpost string
- The ID of the outpost.
- Outpost
Provider stringAttachment Id - The ID of this resource.
- Protocol
Provider float64 - The ID of the provider.
- outpost String
- The ID of the outpost.
- outpost
Provider StringAttachment Id - The ID of this resource.
- protocol
Provider Double - The ID of the provider.
- outpost string
- The ID of the outpost.
- outpost
Provider stringAttachment Id - The ID of this resource.
- protocol
Provider number - The ID of the provider.
- outpost str
- The ID of the outpost.
- outpost_
provider_ strattachment_ id - The ID of this resource.
- protocol_
provider float - The ID of the provider.
- outpost String
- The ID of the outpost.
- outpost
Provider StringAttachment Id - The ID of this resource.
- protocol
Provider Number - The ID of the provider.
Package Details
- Repository
- authentik goauthentik/terraform-provider-authentik
- License
- Notes
- This Pulumi package is based on the
authentikTerraform Provider.
