UNPKG

@pulumi/azuread

Version:

A Pulumi package for creating and managing Azure Active Directory (Azure AD) cloud resources.

145 lines (144 loc) 7.11 kB
import * as pulumi from "@pulumi/pulumi"; /** * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azuread from "@pulumi/azuread"; * * const example = new azuread.ApplicationRegistration("example", {displayName: "example"}); * const exampleApplicationFederatedIdentityCredential = new azuread.ApplicationFederatedIdentityCredential("example", { * applicationId: example.id, * displayName: "my-repo-deploy", * description: "Deployments for my-repo", * audiences: ["api://AzureADTokenExchange"], * issuer: "https://token.actions.githubusercontent.com", * subject: "repo:my-organization/my-repo:environment:prod", * }); * ``` * * ## Import * * Federated Identity Credentials can be imported using the object ID of the associated application and the ID of the federated identity credential, e.g. * * ```sh * $ pulumi import azuread:index/applicationFederatedIdentityCredential:ApplicationFederatedIdentityCredential example 00000000-0000-0000-0000-000000000000/federatedIdentityCredential/11111111-1111-1111-1111-111111111111 * ``` * * -> This ID format is unique to Terraform and is composed of the application's object ID, the string "federatedIdentityCredential" and the credential ID in the format `{ObjectId}/federatedIdentityCredential/{CredentialId}`. */ export declare class ApplicationFederatedIdentityCredential extends pulumi.CustomResource { /** * Get an existing ApplicationFederatedIdentityCredential 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?: ApplicationFederatedIdentityCredentialState, opts?: pulumi.CustomResourceOptions): ApplicationFederatedIdentityCredential; /** * Returns true if the given object is an instance of ApplicationFederatedIdentityCredential. 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 ApplicationFederatedIdentityCredential; /** * The resource ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. */ readonly applicationId: pulumi.Output<string>; /** * List of audiences that can appear in the external token. This specifies what should be accepted in the `aud` claim of incoming tokens. */ readonly audiences: pulumi.Output<string[]>; /** * A UUID used to uniquely identify this federated identity credential. */ readonly credentialId: pulumi.Output<string>; /** * A description for the federated identity credential. */ readonly description: pulumi.Output<string | undefined>; /** * A unique display name for the federated identity credential. Changing this forces a new resource to be created. */ readonly displayName: pulumi.Output<string>; /** * The URL of the external identity provider, which must match the issuer claim of the external token being exchanged. The combination of the values of issuer and subject must be unique on the app. */ readonly issuer: pulumi.Output<string>; /** * The identifier of the external software workload within the external identity provider. The combination of issuer and subject must be unique on the app. */ readonly subject: pulumi.Output<string>; /** * Create a ApplicationFederatedIdentityCredential 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: ApplicationFederatedIdentityCredentialArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering ApplicationFederatedIdentityCredential resources. */ export interface ApplicationFederatedIdentityCredentialState { /** * The resource ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. */ applicationId?: pulumi.Input<string>; /** * List of audiences that can appear in the external token. This specifies what should be accepted in the `aud` claim of incoming tokens. */ audiences?: pulumi.Input<pulumi.Input<string>[]>; /** * A UUID used to uniquely identify this federated identity credential. */ credentialId?: pulumi.Input<string>; /** * A description for the federated identity credential. */ description?: pulumi.Input<string>; /** * A unique display name for the federated identity credential. Changing this forces a new resource to be created. */ displayName?: pulumi.Input<string>; /** * The URL of the external identity provider, which must match the issuer claim of the external token being exchanged. The combination of the values of issuer and subject must be unique on the app. */ issuer?: pulumi.Input<string>; /** * The identifier of the external software workload within the external identity provider. The combination of issuer and subject must be unique on the app. */ subject?: pulumi.Input<string>; } /** * The set of arguments for constructing a ApplicationFederatedIdentityCredential resource. */ export interface ApplicationFederatedIdentityCredentialArgs { /** * The resource ID of the application for which this federated identity credential should be created. Changing this field forces a new resource to be created. */ applicationId: pulumi.Input<string>; /** * List of audiences that can appear in the external token. This specifies what should be accepted in the `aud` claim of incoming tokens. */ audiences: pulumi.Input<pulumi.Input<string>[]>; /** * A description for the federated identity credential. */ description?: pulumi.Input<string>; /** * A unique display name for the federated identity credential. Changing this forces a new resource to be created. */ displayName: pulumi.Input<string>; /** * The URL of the external identity provider, which must match the issuer claim of the external token being exchanged. The combination of the values of issuer and subject must be unique on the app. */ issuer: pulumi.Input<string>; /** * The identifier of the external software workload within the external identity provider. The combination of issuer and subject must be unique on the app. */ subject: pulumi.Input<string>; }