import * as pulumi from "@pulumi/pulumi"; import * as inputs from "./types/input"; import * as outputs from "./types/output"; /** * Provides Nutanix resource to Create key of a requested type for a user. * * ## Example Usage * * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as nutanix from "@pierskarsenbarg/nutanix"; * * // Create key under service account, never expires * const createKey = new nutanix.UserKeyV2("create_key", { * userExtId: "", * name: "api_key_developers", * keyType: "API_KEY", * expiryTime: "2125-01-01T00:00:00Z", * assignedTo: "developer_user_1", * }); * ``` * * * ## Lifecycle Behavior * * > Important: The nutanix.UserKeyV2 resource does not support in-place updates. * * Changes to the following arguments will force the resource to be replaced: * * - name * * - description * * - keyType * * - expiryTime * * - assignedTo * * When any of these arguments are modified, Terraform will destroy the existing user key and create a new one. This results in a new key being generated. * * > Note: Replacing the resource invalidates the previously generated key. Ensure that any dependent systems are updated before applying the changes. */ export declare class UserKeyV2 extends pulumi.CustomResource { /** * Get an existing UserKeyV2 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?: UserKeyV2State, opts?: pulumi.CustomResourceOptions): UserKeyV2; /** * Returns true if the given object is an instance of UserKeyV2. 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 UserKeyV2; /** * - ( Optional ) External client to whom the given key is allocated. */ readonly assignedTo: pulumi.Output; /** * - User or service who created the key. */ readonly createdBy: pulumi.Output; /** * - The creation time of the key. */ readonly createdTime: pulumi.Output; /** * - ( Optional ) The creation mechanism of this entity. Enum Values: * _ "PREDEFINED": Predefined creator workflow type is for entity created by the system. * _ "SERVICEDEFINED": Servicedefined creator workflow type is for entity created by the service. * _ "USERDEFINED": Userdefined creator workflow type is for entity created by the users. */ readonly creationType: pulumi.Output; /** * - ( Optional ) Brief description of the key. */ readonly description: pulumi.Output; /** * - ( Optional ) The time when the key will expire. */ readonly expiryTime: pulumi.Output; /** * - The External Identifier of the User Group. */ readonly extId: pulumi.Output; /** * - Details specific to type of the key. */ readonly keyDetails: pulumi.Output; /** * - ( Required ) The type of key. Enum Values: * _ "API_KEY": A key type that is used to identify a service. * _ "OBJECT_KEY": A combination of access key and secret key to sign an API request. */ readonly keyType: pulumi.Output; /** * - User who updated the key. */ readonly lastUpdatedBy: pulumi.Output; /** * - The time when the key was updated. */ readonly lastUpdatedTime: pulumi.Output; /** * - The time when the key was last used. */ readonly lastUsedTime: pulumi.Output; /** * - A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource. */ readonly links: pulumi.Output; /** * - ( Required ) Identifier for the key in the form of a name. */ readonly name: pulumi.Output; /** * - ( Optional ) The status of the key. Enum Values: * _ "REVOKED": Key is revoked. * _ "VALID": Key is valid. * _ "EXPIRED": Key is expired. */ readonly status: pulumi.Output; /** * - A globally unique identifier that represents the tenant that owns this entity. The system automatically assigns it, and it and is immutable from an API consumer perspective (some use cases may cause this Id to change - For instance, a use case may require the transfer of ownership of the entity, but these cases are handled automatically on the server). */ readonly tenantId: pulumi.Output; /** * - ( Required ) External Identifier of the User. */ readonly userExtId: pulumi.Output; /** * Create a UserKeyV2 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: UserKeyV2Args, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering UserKeyV2 resources. */ export interface UserKeyV2State { /** * - ( Optional ) External client to whom the given key is allocated. */ assignedTo?: pulumi.Input; /** * - User or service who created the key. */ createdBy?: pulumi.Input; /** * - The creation time of the key. */ createdTime?: pulumi.Input; /** * - ( Optional ) The creation mechanism of this entity. Enum Values: * _ "PREDEFINED": Predefined creator workflow type is for entity created by the system. * _ "SERVICEDEFINED": Servicedefined creator workflow type is for entity created by the service. * _ "USERDEFINED": Userdefined creator workflow type is for entity created by the users. */ creationType?: pulumi.Input; /** * - ( Optional ) Brief description of the key. */ description?: pulumi.Input; /** * - ( Optional ) The time when the key will expire. */ expiryTime?: pulumi.Input; /** * - The External Identifier of the User Group. */ extId?: pulumi.Input; /** * - Details specific to type of the key. */ keyDetails?: pulumi.Input[] | undefined>; /** * - ( Required ) The type of key. Enum Values: * _ "API_KEY": A key type that is used to identify a service. * _ "OBJECT_KEY": A combination of access key and secret key to sign an API request. */ keyType?: pulumi.Input; /** * - User who updated the key. */ lastUpdatedBy?: pulumi.Input; /** * - The time when the key was updated. */ lastUpdatedTime?: pulumi.Input; /** * - The time when the key was last used. */ lastUsedTime?: pulumi.Input; /** * - A HATEOAS style link for the response. Each link contains a user-friendly name identifying the link and an address for retrieving the particular resource. */ links?: pulumi.Input[] | undefined>; /** * - ( Required ) Identifier for the key in the form of a name. */ name?: pulumi.Input; /** * - ( Optional ) The status of the key. Enum Values: * _ "REVOKED": Key is revoked. * _ "VALID": Key is valid. * _ "EXPIRED": Key is expired. */ status?: pulumi.Input; /** * - A globally unique identifier that represents the tenant that owns this entity. The system automatically assigns it, and it and is immutable from an API consumer perspective (some use cases may cause this Id to change - For instance, a use case may require the transfer of ownership of the entity, but these cases are handled automatically on the server). */ tenantId?: pulumi.Input; /** * - ( Required ) External Identifier of the User. */ userExtId?: pulumi.Input; } /** * The set of arguments for constructing a UserKeyV2 resource. */ export interface UserKeyV2Args { /** * - ( Optional ) External client to whom the given key is allocated. */ assignedTo?: pulumi.Input; /** * - User or service who created the key. */ createdBy?: pulumi.Input; /** * - The creation time of the key. */ createdTime?: pulumi.Input; /** * - ( Optional ) The creation mechanism of this entity. Enum Values: * _ "PREDEFINED": Predefined creator workflow type is for entity created by the system. * _ "SERVICEDEFINED": Servicedefined creator workflow type is for entity created by the service. * _ "USERDEFINED": Userdefined creator workflow type is for entity created by the users. */ creationType?: pulumi.Input; /** * - ( Optional ) Brief description of the key. */ description?: pulumi.Input; /** * - ( Optional ) The time when the key will expire. */ expiryTime?: pulumi.Input; /** * - ( Required ) The type of key. Enum Values: * _ "API_KEY": A key type that is used to identify a service. * _ "OBJECT_KEY": A combination of access key and secret key to sign an API request. */ keyType: pulumi.Input; /** * - User who updated the key. */ lastUpdatedBy?: pulumi.Input; /** * - The time when the key was updated. */ lastUpdatedTime?: pulumi.Input; /** * - The time when the key was last used. */ lastUsedTime?: pulumi.Input; /** * - ( Required ) Identifier for the key in the form of a name. */ name?: pulumi.Input; /** * - ( Optional ) The status of the key. Enum Values: * _ "REVOKED": Key is revoked. * _ "VALID": Key is valid. * _ "EXPIRED": Key is expired. */ status?: pulumi.Input; /** * - ( Required ) External Identifier of the User. */ userExtId: pulumi.Input; } //# sourceMappingURL=userKeyV2.d.ts.map