@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
98 lines (97 loc) • 4.16 kB
TypeScript
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>[]>;
}