ApplicationArgs

data class ApplicationArgs(val applicationProviderArn: Output<String>? = null, val clientToken: Output<String>? = null, val description: Output<String>? = null, val instanceArn: Output<String>? = null, val name: Output<String>? = null, val portalOptions: Output<ApplicationPortalOptionsArgs>? = null, val status: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<ApplicationArgs>

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]),
});
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])
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]),
});
});
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
})
}
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());
}
}
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: {}

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",
},
},
});
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",
},
})
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",
},
},
});
});
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
})
}
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());
}
}
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: {}

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

Constructors

Link copied to clipboard
constructor(applicationProviderArn: Output<String>? = null, clientToken: Output<String>? = null, description: Output<String>? = null, instanceArn: Output<String>? = null, name: Output<String>? = null, portalOptions: Output<ApplicationPortalOptionsArgs>? = null, status: Output<String>? = null, tags: Output<Map<String, String>>? = null)

Properties

Link copied to clipboard
val applicationProviderArn: Output<String>? = null

ARN of the application provider.

Link copied to clipboard
val clientToken: Output<String>? = null

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
val description: Output<String>? = null

Description of the application.

Link copied to clipboard
val instanceArn: Output<String>? = null

ARN of the instance of IAM Identity Center.

Link copied to clipboard
val name: Output<String>? = null

Name of the application. The following arguments are optional:

Link copied to clipboard

Options for the portal associated with an application. See portal_options below.

Link copied to clipboard
val status: Output<String>? = null

Status of the application. Valid values are ENABLED and DISABLED.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

Key-value mapping of resource tags. If configured with a provider default_tags configuration block present, tags with matching keys will overwrite those defined at the provider-level.

Functions

Link copied to clipboard
open override fun toJava(): ApplicationArgs