UNPKG

@pulumi/azuread

Version:

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

200 lines (199 loc) 6.75 kB
import * as pulumi from "@pulumi/pulumi"; import * as outputs from "./types/output"; /** * Gets basic information for multiple Azure Active Directory service principals. * * ## API Permissions * * The following API permissions are required in order to use this data source. * * When authenticated with a service principal, this data source requires one of the following application roles: `Application.Read.All` or `Directory.Read.All` * * When authenticated with a user principal, this data source does not require any additional roles. * * ## Example Usage * * *Look up by application display names* * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azuread from "@pulumi/azuread"; * * const example = azuread.getServicePrincipals({ * displayNames: [ * "example-app", * "another-app", * ], * }); * ``` * * *Look up by application IDs (client IDs)* * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azuread from "@pulumi/azuread"; * * const example = azuread.getServicePrincipals({ * clientIds: [ * "11111111-0000-0000-0000-000000000000", * "22222222-0000-0000-0000-000000000000", * "33333333-0000-0000-0000-000000000000", * ], * }); * ``` * * *Look up by service principal object IDs* * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azuread from "@pulumi/azuread"; * * const example = azuread.getServicePrincipals({ * objectIds: [ * "00000000-0000-0000-0000-000000000000", * "00000000-0000-0000-0000-111111111111", * "00000000-0000-0000-0000-222222222222", * ], * }); * ``` */ export declare function getServicePrincipals(args?: GetServicePrincipalsArgs, opts?: pulumi.InvokeOptions): Promise<GetServicePrincipalsResult>; /** * A collection of arguments for invoking getServicePrincipals. */ export interface GetServicePrincipalsArgs { /** * A list of client IDs of the applications associated with the service principals. */ clientIds?: string[]; /** * A list of display names of the applications associated with the service principals. */ displayNames?: string[]; /** * Ignore missing service principals and return all service principals that are found. The data source will still fail if no service principals are found. Defaults to false. */ ignoreMissing?: boolean; /** * The object IDs of the service principals. */ objectIds?: string[]; /** * When `true`, the data source will return all service principals. Cannot be used with `ignoreMissing`. Defaults to false. * * > Either `returnAll`, or one of `clientIds`, `displayNames` or `objectIds` must be specified. These _may_ be specified as an empty list, in which case no results will be returned. */ returnAll?: boolean; } /** * A collection of values returned by getServicePrincipals. */ export interface GetServicePrincipalsResult { /** * The client ID of the application associated with this service principal. */ readonly clientIds: string[]; /** * A list of display names of the applications associated with the service principals. */ readonly displayNames: string[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly ignoreMissing?: boolean; /** * The object IDs of the service principals. */ readonly objectIds: string[]; readonly returnAll?: boolean; /** * A list of service principals. Each `servicePrincipal` object provides the attributes documented below. */ readonly servicePrincipals: outputs.GetServicePrincipalsServicePrincipal[]; } /** * Gets basic information for multiple Azure Active Directory service principals. * * ## API Permissions * * The following API permissions are required in order to use this data source. * * When authenticated with a service principal, this data source requires one of the following application roles: `Application.Read.All` or `Directory.Read.All` * * When authenticated with a user principal, this data source does not require any additional roles. * * ## Example Usage * * *Look up by application display names* * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azuread from "@pulumi/azuread"; * * const example = azuread.getServicePrincipals({ * displayNames: [ * "example-app", * "another-app", * ], * }); * ``` * * *Look up by application IDs (client IDs)* * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azuread from "@pulumi/azuread"; * * const example = azuread.getServicePrincipals({ * clientIds: [ * "11111111-0000-0000-0000-000000000000", * "22222222-0000-0000-0000-000000000000", * "33333333-0000-0000-0000-000000000000", * ], * }); * ``` * * *Look up by service principal object IDs* * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azuread from "@pulumi/azuread"; * * const example = azuread.getServicePrincipals({ * objectIds: [ * "00000000-0000-0000-0000-000000000000", * "00000000-0000-0000-0000-111111111111", * "00000000-0000-0000-0000-222222222222", * ], * }); * ``` */ export declare function getServicePrincipalsOutput(args?: GetServicePrincipalsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetServicePrincipalsResult>; /** * A collection of arguments for invoking getServicePrincipals. */ export interface GetServicePrincipalsOutputArgs { /** * A list of client IDs of the applications associated with the service principals. */ clientIds?: pulumi.Input<pulumi.Input<string>[]>; /** * A list of display names of the applications associated with the service principals. */ displayNames?: pulumi.Input<pulumi.Input<string>[]>; /** * Ignore missing service principals and return all service principals that are found. The data source will still fail if no service principals are found. Defaults to false. */ ignoreMissing?: pulumi.Input<boolean>; /** * The object IDs of the service principals. */ objectIds?: pulumi.Input<pulumi.Input<string>[]>; /** * When `true`, the data source will return all service principals. Cannot be used with `ignoreMissing`. Defaults to false. * * > Either `returnAll`, or one of `clientIds`, `displayNames` or `objectIds` must be specified. These _may_ be specified as an empty list, in which case no results will be returned. */ returnAll?: pulumi.Input<boolean>; }