import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Gets a list of all service accounts from a project. * See [the official documentation](https://cloud.google.com/iam/docs/service-account-overview) * and [API](https://cloud.google.com/iam/docs/reference/rest/v1/projects.serviceAccounts). * * ## Example Usage * * Get all service accounts from a project * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const example = gcp.serviceaccount.getS({ * project: "example-project", * }); * ``` * * Get all service accounts that are prefixed with `"foo"` * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const foo = gcp.serviceaccount.getS({ * prefix: "foo", * }); * ``` * * Get all service accounts that contain `"bar"` * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const bar = gcp.serviceaccount.getS({ * regex: ".*bar.*", * }); * ``` * * Get all service accounts that are prefixed with `"foo"` and contain `"bar"` * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const fooBar = gcp.serviceaccount.getS({ * prefix: "foo", * regex: ".*bar.*", * }); * ``` */ export declare function getS(args?: GetSArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getS. */ export interface GetSArgs { /** * A prefix for filtering. It's applied with the `accountId`. */ prefix?: string; /** * The ID of the project. If it is not provided, the provider project is used. */ project?: string; /** * A regular expression for filtering. It's applied with the `email`. Further information about the syntax can be found [here](https://github.com/google/re2/wiki/Syntax). */ regex?: string; } /** * A collection of values returned by getS. */ export interface GetSResult { /** * A list of all retrieved service accounts. Structure is defined below. */ readonly accounts: outputs.serviceaccount.GetSAccount[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly prefix?: string; readonly project?: string; readonly regex?: string; } /** * Gets a list of all service accounts from a project. * See [the official documentation](https://cloud.google.com/iam/docs/service-account-overview) * and [API](https://cloud.google.com/iam/docs/reference/rest/v1/projects.serviceAccounts). * * ## Example Usage * * Get all service accounts from a project * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const example = gcp.serviceaccount.getS({ * project: "example-project", * }); * ``` * * Get all service accounts that are prefixed with `"foo"` * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const foo = gcp.serviceaccount.getS({ * prefix: "foo", * }); * ``` * * Get all service accounts that contain `"bar"` * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const bar = gcp.serviceaccount.getS({ * regex: ".*bar.*", * }); * ``` * * Get all service accounts that are prefixed with `"foo"` and contain `"bar"` * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const fooBar = gcp.serviceaccount.getS({ * prefix: "foo", * regex: ".*bar.*", * }); * ``` */ export declare function getSOutput(args?: GetSOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getS. */ export interface GetSOutputArgs { /** * A prefix for filtering. It's applied with the `accountId`. */ prefix?: pulumi.Input; /** * The ID of the project. If it is not provided, the provider project is used. */ project?: pulumi.Input; /** * A regular expression for filtering. It's applied with the `email`. Further information about the syntax can be found [here](https://github.com/google/re2/wiki/Syntax). */ regex?: pulumi.Input; }