UNPKG

@huaweicloudos/pulumi

Version:

A Pulumi package for creating and managing Huaweicloud cloud resources.

129 lines (128 loc) 4.67 kB
import * as pulumi from "@pulumi/pulumi"; import { output as outputs } from "../types"; /** * Use this data source to get the available IAM [Permissions](https://support.huaweicloud.com/intl/en-us/productdesc-iam/iam_01_0023.html#section5), * including roles and policies. * * > **NOTE:** You *must* have IAM read privileges to use this data source. * * ## Example Usage * ### Full Permissions of ECS Service * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as huaweicloud from "@pulumi/huaweicloud"; * * const ecsFull = pulumi.output(huaweicloud.Iam.getPermissions({ * name: "ECS FullAccess", * })); * ``` * ### All System Defined Permissions of ELB Service * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as huaweicloud from "@pulumi/huaweicloud"; * * const elbAll = pulumi.output(huaweicloud.Iam.getPermissions({ * catalog: "ELB", * })); * ``` * ### All Administrator Permissions * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as huaweicloud from "@pulumi/huaweicloud"; * * const allAdm = pulumi.output(huaweicloud.Iam.getPermissions({ * name: "Administrator", * })); * ``` * ### All Custom Policies * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as huaweicloud from "@pulumi/huaweicloud"; * * const custom = pulumi.output(huaweicloud.Iam.getPermissions({ * type: "custom", * })); * ``` */ export declare function getPermissions(args?: GetPermissionsArgs, opts?: pulumi.InvokeOptions): Promise<GetPermissionsResult>; /** * A collection of arguments for invoking getPermissions. */ export interface GetPermissionsArgs { /** * Specifies the service catalog of the permission. */ catalog?: string; /** * Specifies the permission name or filter condition. * + Permission name: For example, if you set this parameter to **ECS FullAccess**, information about the permission will * be returned. * + Filter condition: For example, if you set this parameter to **Administrator**, all administrator permissions that * meet the conditions will be returned. */ name?: string; /** * Specifies the type of the permission. The default value is **system**, and valid values are * as follows: * + **system**: The system-defined permissions (including system-defined policies and roles). * We can get all **System-defined Permissions** from [HuaweiCloud](https://support.huaweicloud.com/intl/en-us/usermanual-permissions/iam_01_0001.html). * + **system-policy**: The system-defined policies. * + **system-role**: The system-defined roles. * + **custom**: The custom policies. */ type?: string; } /** * A collection of values returned by getPermissions. */ export interface GetPermissionsResult { /** * The service catalog of the permission. */ readonly catalog?: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * The permission name. */ readonly name?: string; /** * An array of available permissions. The structure is documented below. */ readonly permissions: outputs.Iam.GetPermissionsPermission[]; readonly type?: string; } export declare function getPermissionsOutput(args?: GetPermissionsOutputArgs, opts?: pulumi.InvokeOptions): pulumi.Output<GetPermissionsResult>; /** * A collection of arguments for invoking getPermissions. */ export interface GetPermissionsOutputArgs { /** * Specifies the service catalog of the permission. */ catalog?: pulumi.Input<string>; /** * Specifies the permission name or filter condition. * + Permission name: For example, if you set this parameter to **ECS FullAccess**, information about the permission will * be returned. * + Filter condition: For example, if you set this parameter to **Administrator**, all administrator permissions that * meet the conditions will be returned. */ name?: pulumi.Input<string>; /** * Specifies the type of the permission. The default value is **system**, and valid values are * as follows: * + **system**: The system-defined permissions (including system-defined policies and roles). * We can get all **System-defined Permissions** from [HuaweiCloud](https://support.huaweicloud.com/intl/en-us/usermanual-permissions/iam_01_0001.html). * + **system-policy**: The system-defined policies. * + **system-role**: The system-defined roles. * + **custom**: The custom policies. */ type?: pulumi.Input<string>; }