Application
Resource for managing an AWS SSO Admin Application.
The
CreateApplication
API only supports custom OAuth 2.0 applications. Creation of 3rd party SAML or OAuth 2.0 applications require setup to be done through the associated app service or AWS console. See this issue for additional context.
Example Usage
Basic Usage
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = aws.ssoadmin.getInstances({});
const exampleApplication = new aws.ssoadmin.Application("example", {
name: "example",
applicationProviderArn: "arn:aws:sso::aws:applicationProvider/custom",
instanceArn: example.then(example => example.arns?.[0]),
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.ssoadmin.get_instances()
example_application = aws.ssoadmin.Application("example",
name="example",
application_provider_arn="arn:aws:sso::aws:applicationProvider/custom",
instance_arn=example.arns[0])
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = Aws.SsoAdmin.GetInstances.Invoke();
var exampleApplication = new Aws.SsoAdmin.Application("example", new()
{
Name = "example",
ApplicationProviderArn = "arn:aws:sso::aws:applicationProvider/custom",
InstanceArn = example.Apply(getInstancesResult => getInstancesResult.Arns[0]),
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)
if err != nil {
return err
}
_, err = ssoadmin.NewApplication(ctx, "example", &ssoadmin.ApplicationArgs{
Name: pulumi.String("example"),
ApplicationProviderArn: pulumi.String("arn:aws:sso::aws:applicationProvider/custom"),
InstanceArn: pulumi.String(example.Arns[0]),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ssoadmin.SsoadminFunctions;
import com.pulumi.aws.ssoadmin.Application;
import com.pulumi.aws.ssoadmin.ApplicationArgs;
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 example = SsoadminFunctions.getInstances(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);
var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder()
.name("example")
.applicationProviderArn("arn:aws:sso::aws:applicationProvider/custom")
.instanceArn(example.arns()[0])
.build());
}
}
Content copied to clipboard
resources:
exampleApplication:
type: aws:ssoadmin:Application
name: example
properties:
name: example
applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom
instanceArn: ${example.arns[0]}
variables:
example:
fn::invoke:
function: aws:ssoadmin:getInstances
arguments: {}
Content copied to clipboard
With Portal Options
import * as pulumi from "@pulumi/pulumi";
import * as aws from "@pulumi/aws";
const example = aws.ssoadmin.getInstances({});
const exampleApplication = new aws.ssoadmin.Application("example", {
name: "example",
applicationProviderArn: "arn:aws:sso::aws:applicationProvider/custom",
instanceArn: example.then(example => example.arns?.[0]),
portalOptions: {
visibility: "ENABLED",
signInOptions: {
applicationUrl: "http://example.com",
origin: "APPLICATION",
},
},
});
Content copied to clipboard
import pulumi
import pulumi_aws as aws
example = aws.ssoadmin.get_instances()
example_application = aws.ssoadmin.Application("example",
name="example",
application_provider_arn="arn:aws:sso::aws:applicationProvider/custom",
instance_arn=example.arns[0],
portal_options={
"visibility": "ENABLED",
"sign_in_options": {
"application_url": "http://example.com",
"origin": "APPLICATION",
},
})
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Aws = Pulumi.Aws;
return await Deployment.RunAsync(() =>
{
var example = Aws.SsoAdmin.GetInstances.Invoke();
var exampleApplication = new Aws.SsoAdmin.Application("example", new()
{
Name = "example",
ApplicationProviderArn = "arn:aws:sso::aws:applicationProvider/custom",
InstanceArn = example.Apply(getInstancesResult => getInstancesResult.Arns[0]),
PortalOptions = new Aws.SsoAdmin.Inputs.ApplicationPortalOptionsArgs
{
Visibility = "ENABLED",
SignInOptions = new Aws.SsoAdmin.Inputs.ApplicationPortalOptionsSignInOptionsArgs
{
ApplicationUrl = "http://example.com",
Origin = "APPLICATION",
},
},
});
});
Content copied to clipboard
package main
import (
"github.com/pulumi/pulumi-aws/sdk/v6/go/aws/ssoadmin"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := ssoadmin.GetInstances(ctx, map[string]interface{}{}, nil)
if err != nil {
return err
}
_, err = ssoadmin.NewApplication(ctx, "example", &ssoadmin.ApplicationArgs{
Name: pulumi.String("example"),
ApplicationProviderArn: pulumi.String("arn:aws:sso::aws:applicationProvider/custom"),
InstanceArn: pulumi.String(example.Arns[0]),
PortalOptions: &ssoadmin.ApplicationPortalOptionsArgs{
Visibility: pulumi.String("ENABLED"),
SignInOptions: &ssoadmin.ApplicationPortalOptionsSignInOptionsArgs{
ApplicationUrl: pulumi.String("http://example.com"),
Origin: pulumi.String("APPLICATION"),
},
},
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.aws.ssoadmin.SsoadminFunctions;
import com.pulumi.aws.ssoadmin.Application;
import com.pulumi.aws.ssoadmin.ApplicationArgs;
import com.pulumi.aws.ssoadmin.inputs.ApplicationPortalOptionsArgs;
import com.pulumi.aws.ssoadmin.inputs.ApplicationPortalOptionsSignInOptionsArgs;
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 example = SsoadminFunctions.getInstances(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference);
var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder()
.name("example")
.applicationProviderArn("arn:aws:sso::aws:applicationProvider/custom")
.instanceArn(example.arns()[0])
.portalOptions(ApplicationPortalOptionsArgs.builder()
.visibility("ENABLED")
.signInOptions(ApplicationPortalOptionsSignInOptionsArgs.builder()
.applicationUrl("http://example.com")
.origin("APPLICATION")
.build())
.build())
.build());
}
}
Content copied to clipboard
resources:
exampleApplication:
type: aws:ssoadmin:Application
name: example
properties:
name: example
applicationProviderArn: arn:aws:sso::aws:applicationProvider/custom
instanceArn: ${example.arns[0]}
portalOptions:
visibility: ENABLED
signInOptions:
applicationUrl: http://example.com
origin: APPLICATION
variables:
example:
fn::invoke:
function: aws:ssoadmin:getInstances
arguments: {}
Content copied to clipboard
Import
Using pulumi import
, import SSO Admin Application using the id
. For example:
$ pulumi import aws:ssoadmin/application:Application example arn:aws:sso::123456789012:application/id-12345678
Content copied to clipboard
Properties
Link copied to clipboard
AWS account ID.
Link copied to clipboard
ARN of the application.
Link copied to clipboard
ARN of the application provider.
Link copied to clipboard
A unique, case-sensitive ID that you provide to ensure the idempotency of the request. AWS generates a random value when not provided.
Link copied to clipboard
Description of the application.
Link copied to clipboard
ARN of the instance of IAM Identity Center.
Link copied to clipboard
Options for the portal associated with an application. See portal_options
below.
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard