import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * A role is a virtual identity in the IAM system that grants certain access permissions within an account to various identity entities. Trusted identity entities can assume this role to access cloud resources within the account. * * ## Import * * ```sh * $ pulumi import volcenginecc:iam/role:Role example "role_name" * ``` */ 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 state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: RoleState, 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; /** * Role creation time */ readonly createDate: pulumi.Output; /** * Role description, maximum length 128 */ readonly description: pulumi.Output; /** * Role display name, maximum length 64 */ readonly displayName: pulumi.Output; /** * Service-linked role or not: 0 for No, 1 for Yes */ readonly isServiceLinkedRole: pulumi.Output; /** * Maximum session duration for the role. Maximum session duration for the role. Limits the maximum validity period of temporary security credentials generated by role assumption. Value range: 3600–43200, unit: seconds, default is 43200 */ readonly maxSessionDuration: pulumi.Output; readonly policies: pulumi.Output; /** * Role ID */ readonly roleId: pulumi.Output; /** * Role name, length 1–64, supports English letters, numbers, and .-_ characters */ readonly roleName: pulumi.Output; /** * Service associated with the service-linked role to be created. */ readonly serviceName: pulumi.Output; readonly tags: pulumi.Output; /** * Role TRN */ readonly trn: pulumi.Output; /** * Role trust policy. The trust policy follows resource-based policy rules in IAM policy syntax. */ readonly trustPolicyDocument: pulumi.Output; /** * Role update time */ readonly updateDate: 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); } /** * Input properties used for looking up and filtering Role resources. */ export interface RoleState { /** * Role creation time */ createDate?: pulumi.Input; /** * Role description, maximum length 128 */ description?: pulumi.Input; /** * Role display name, maximum length 64 */ displayName?: pulumi.Input; /** * Service-linked role or not: 0 for No, 1 for Yes */ isServiceLinkedRole?: pulumi.Input; /** * Maximum session duration for the role. Maximum session duration for the role. Limits the maximum validity period of temporary security credentials generated by role assumption. Value range: 3600–43200, unit: seconds, default is 43200 */ maxSessionDuration?: pulumi.Input; policies?: pulumi.Input[]>; /** * Role ID */ roleId?: pulumi.Input; /** * Role name, length 1–64, supports English letters, numbers, and .-_ characters */ roleName?: pulumi.Input; /** * Service associated with the service-linked role to be created. */ serviceName?: pulumi.Input; tags?: pulumi.Input[]>; /** * Role TRN */ trn?: pulumi.Input; /** * Role trust policy. The trust policy follows resource-based policy rules in IAM policy syntax. */ trustPolicyDocument?: pulumi.Input; /** * Role update time */ updateDate?: pulumi.Input; } /** * The set of arguments for constructing a Role resource. */ export interface RoleArgs { /** * Role description, maximum length 128 */ description?: pulumi.Input; /** * Role display name, maximum length 64 */ displayName?: pulumi.Input; /** * Service-linked role or not: 0 for No, 1 for Yes */ isServiceLinkedRole?: pulumi.Input; /** * Maximum session duration for the role. Maximum session duration for the role. Limits the maximum validity period of temporary security credentials generated by role assumption. Value range: 3600–43200, unit: seconds, default is 43200 */ maxSessionDuration?: pulumi.Input; policies?: pulumi.Input[]>; /** * Role name, length 1–64, supports English letters, numbers, and .-_ characters */ roleName?: pulumi.Input; /** * Service associated with the service-linked role to be created. */ serviceName?: pulumi.Input; tags?: pulumi.Input[]>; /** * Role trust policy. The trust policy follows resource-based policy rules in IAM policy syntax. */ trustPolicyDocument?: pulumi.Input; }