@pulumi/aws
Version:
A Pulumi package for creating and managing Amazon Web Services (AWS) cloud resources.
201 lines (200 loc) • 7.8 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
/**
* Resource for managing an AWS WorkSpaces Web Identity Provider.
*
* ## Example Usage
*
* ### Basic Usage with SAML
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const example = new aws.workspacesweb.Portal("example", {displayName: "example"});
* const exampleIdentityProvider = new aws.workspacesweb.IdentityProvider("example", {
* identityProviderName: "example-saml",
* identityProviderType: "SAML",
* portalArn: example.portalArn,
* identityProviderDetails: {
* MetadataURL: "https://example.com/metadata",
* },
* });
* ```
*
* ### OIDC Identity Provider
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as aws from "@pulumi/aws";
*
* const test = new aws.workspacesweb.Portal("test", {displayName: "test"});
* const testIdentityProvider = new aws.workspacesweb.IdentityProvider("test", {
* identityProviderName: "test-updated",
* identityProviderType: "OIDC",
* portalArn: test.portalArn,
* identityProviderDetails: {
* client_id: "test-client-id",
* client_secret: "test-client-secret",
* oidc_issuer: "https://accounts.google.com",
* attributes_request_method: "POST",
* authorize_scopes: "openid, email",
* },
* });
* ```
*
* ## Import
*
* Using `pulumi import`, import WorkSpaces Web Identity Provider using the `identity_provider_arn`. For example:
*
* ```sh
* $ pulumi import aws:workspacesweb/identityProvider:IdentityProvider example arn:aws:workspaces-web:us-west-2:123456789012:identityprovider/abcdef12345678/12345678-1234-1234-1234-123456789012
* ```
*/
export declare class IdentityProvider extends pulumi.CustomResource {
/**
* Get an existing IdentityProvider resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: IdentityProviderState, opts?: pulumi.CustomResourceOptions): IdentityProvider;
/**
* Returns true if the given object is an instance of IdentityProvider. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is IdentityProvider;
/**
* ARN of the identity provider.
*/
readonly identityProviderArn: pulumi.Output<string>;
/**
* Identity provider details. The following list describes the provider detail keys for each identity provider type:
* * For Google and Login with Amazon:
*/
readonly identityProviderDetails: pulumi.Output<{
[key: string]: string;
}>;
/**
* Identity provider name.
*/
readonly identityProviderName: pulumi.Output<string>;
/**
* Identity provider type. Valid values: `SAML`, `Facebook`, `Google`, `LoginWithAmazon`, `SignInWithApple`, `OIDC`.
*/
readonly identityProviderType: pulumi.Output<string>;
/**
* ARN of the web portal. Forces replacement if changed.
*
* The following arguments are optional:
*/
readonly portalArn: pulumi.Output<string>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
readonly region: pulumi.Output<string>;
/**
* Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
readonly tags: pulumi.Output<{
[key: string]: string;
} | undefined>;
/**
* Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
readonly tagsAll: pulumi.Output<{
[key: string]: string;
}>;
/**
* Create a IdentityProvider resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: IdentityProviderArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering IdentityProvider resources.
*/
export interface IdentityProviderState {
/**
* ARN of the identity provider.
*/
identityProviderArn?: pulumi.Input<string>;
/**
* Identity provider details. The following list describes the provider detail keys for each identity provider type:
* * For Google and Login with Amazon:
*/
identityProviderDetails?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Identity provider name.
*/
identityProviderName?: pulumi.Input<string>;
/**
* Identity provider type. Valid values: `SAML`, `Facebook`, `Google`, `LoginWithAmazon`, `SignInWithApple`, `OIDC`.
*/
identityProviderType?: pulumi.Input<string>;
/**
* ARN of the web portal. Forces replacement if changed.
*
* The following arguments are optional:
*/
portalArn?: pulumi.Input<string>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Map of tags assigned to the resource, including those inherited from the provider `defaultTags` configuration block.
*/
tagsAll?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}
/**
* The set of arguments for constructing a IdentityProvider resource.
*/
export interface IdentityProviderArgs {
/**
* Identity provider details. The following list describes the provider detail keys for each identity provider type:
* * For Google and Login with Amazon:
*/
identityProviderDetails: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
/**
* Identity provider name.
*/
identityProviderName: pulumi.Input<string>;
/**
* Identity provider type. Valid values: `SAML`, `Facebook`, `Google`, `LoginWithAmazon`, `SignInWithApple`, `OIDC`.
*/
identityProviderType: pulumi.Input<string>;
/**
* ARN of the web portal. Forces replacement if changed.
*
* The following arguments are optional:
*/
portalArn: pulumi.Input<string>;
/**
* Region where this resource will be [managed](https://docs.aws.amazon.com/general/latest/gr/rande.html#regional-endpoints). Defaults to the Region set in the provider configuration.
*/
region?: pulumi.Input<string>;
/**
* Map of tags to assign to the resource. If configured with a provider `defaultTags` configuration block present, tags with matching keys will overwrite those defined at the provider-level.
*/
tags?: pulumi.Input<{
[key: string]: pulumi.Input<string>;
}>;
}