import * as pulumi from "@pulumi/pulumi"; /** * Creates a new custom Role. */ export declare class Role extends pulumi.CustomResource { /** * Get an existing Role resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): Role; /** * Returns true if the given object is an instance of Role. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is Role; /** * The current deleted state of the role. This field is read only. It will be ignored in calls to CreateRole and UpdateRole. */ readonly deleted: pulumi.Output; /** * Optional. A human-readable description for the role. */ readonly description: pulumi.Output; /** * Used to perform a consistent read-modify-write. */ readonly etag: pulumi.Output; /** * The names of the permissions this role grants when bound in an IAM policy. */ readonly includedPermissions: pulumi.Output; /** * The name of the role. When Role is used in CreateRole, the role name must not be set. When Role is used in output and other input such as UpdateRole, the role name is the complete path, e.g., roles/logging.viewer for predefined roles and organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom roles. */ readonly name: pulumi.Output; /** * The current launch stage of the role. If the `ALPHA` launch stage has been selected for a role, the `stage` field will not be included in the returned definition for the role. */ readonly stage: pulumi.Output; /** * Optional. A human-readable title for the role. Typically this is limited to 100 UTF-8 bytes. */ readonly title: pulumi.Output; /** * Create a Role resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: RoleArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a Role resource. */ export interface RoleArgs { /** * The current deleted state of the role. This field is read only. It will be ignored in calls to CreateRole and UpdateRole. */ readonly deleted?: pulumi.Input; /** * Optional. A human-readable description for the role. */ readonly description?: pulumi.Input; /** * Used to perform a consistent read-modify-write. */ readonly etag?: pulumi.Input; /** * The names of the permissions this role grants when bound in an IAM policy. */ readonly includedPermissions?: pulumi.Input[]>; /** * The name of the role. When Role is used in CreateRole, the role name must not be set. When Role is used in output and other input such as UpdateRole, the role name is the complete path, e.g., roles/logging.viewer for predefined roles and organizations/{ORGANIZATION_ID}/roles/logging.viewer for custom roles. */ readonly name?: pulumi.Input; readonly projectsId: pulumi.Input; /** * The role ID to use for this role. A role ID may contain alphanumeric characters, underscores (`_`), and periods (`.`). It must contain a minimum of 3 characters and a maximum of 64 characters. */ readonly roleId?: pulumi.Input; readonly rolesId: pulumi.Input; /** * The current launch stage of the role. If the `ALPHA` launch stage has been selected for a role, the `stage` field will not be included in the returned definition for the role. */ readonly stage?: pulumi.Input; /** * Optional. A human-readable title for the role. Typically this is limited to 100 UTF-8 bytes. */ readonly title?: pulumi.Input; }