UNPKG

@pulumi/gcp

Version:

A Pulumi package for creating and managing Google Cloud Platform resources.

98 lines (97 loc) 4.16 kB
import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Retrieve a list of testable permissions for a resource. Testable permissions mean the permissions that user can add or remove in a role at a given resource. The resource can be referenced either via the full resource name or via a URI. * * ## Example Usage * * Retrieve all the supported permissions able to be set on `my-project` that are in either GA or BETA. This is useful for dynamically constructing custom roles. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const perms = gcp.iam.getTestablePermissions({ * fullResourceName: "//cloudresourcemanager.googleapis.com/projects/my-project", * stages: [ * "GA", * "BETA", * ], * }); * ``` */ export declare function getTestablePermissions(args: GetTestablePermissionsArgs, opts?: pulumi.InvokeOptions): Promise<GetTestablePermissionsResult>; /** * A collection of arguments for invoking getTestablePermissions. */ export interface GetTestablePermissionsArgs { /** * The level of support for custom roles. Can be one of `"NOT_SUPPORTED"`, `"SUPPORTED"`, `"TESTING"`. Default is `"SUPPORTED"` */ customSupportLevel?: string; /** * See [full resource name documentation](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more detail. */ fullResourceName: string; /** * The acceptable release stages of the permission in the output. Note that `BETA` does not include permissions in `GA`, but you can specify both with `["GA", "BETA"]` for example. Can be a list of `"ALPHA"`, `"BETA"`, `"GA"`, `"DEPRECATED"`. Default is `["GA"]`. */ stages?: string[]; } /** * A collection of values returned by getTestablePermissions. */ export interface GetTestablePermissionsResult { /** * The the support level of this permission for custom roles. */ readonly customSupportLevel?: string; readonly fullResourceName: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * A list of permissions matching the provided input. Structure is defined below. */ readonly permissions: outputs.iam.GetTestablePermissionsPermission[]; readonly stages?: string[]; } /** * Retrieve a list of testable permissions for a resource. Testable permissions mean the permissions that user can add or remove in a role at a given resource. The resource can be referenced either via the full resource name or via a URI. * * ## Example Usage * * Retrieve all the supported permissions able to be set on `my-project` that are in either GA or BETA. This is useful for dynamically constructing custom roles. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const perms = gcp.iam.getTestablePermissions({ * fullResourceName: "//cloudresourcemanager.googleapis.com/projects/my-project", * stages: [ * "GA", * "BETA", * ], * }); * ``` */ export declare function getTestablePermissionsOutput(args: GetTestablePermissionsOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetTestablePermissionsResult>; /** * A collection of arguments for invoking getTestablePermissions. */ export interface GetTestablePermissionsOutputArgs { /** * The level of support for custom roles. Can be one of `"NOT_SUPPORTED"`, `"SUPPORTED"`, `"TESTING"`. Default is `"SUPPORTED"` */ customSupportLevel?: pulumi.Input<string>; /** * See [full resource name documentation](https://cloud.google.com/apis/design/resource_names#full_resource_name) for more detail. */ fullResourceName: pulumi.Input<string>; /** * The acceptable release stages of the permission in the output. Note that `BETA` does not include permissions in `GA`, but you can specify both with `["GA", "BETA"]` for example. Can be a list of `"ALPHA"`, `"BETA"`, `"GA"`, `"DEPRECATED"`. Default is `["GA"]`. */ stages?: pulumi.Input<pulumi.Input<string>[]>; }