@huaweicloudos/pulumi
Version:
A Pulumi package for creating and managing Huaweicloud cloud resources.
129 lines (128 loc) • 4.67 kB
TypeScript
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>;
}