@pulumi/linode
Version:
A Pulumi package for creating and managing linode cloud resources.
134 lines (133 loc) • 5.52 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "./types/input";
import * as outputs from "./types/output";
/**
* Provides information about a Linode user
* For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/get-user).
*
* ## Example Usage
*
* The following example shows how one might use this data source to access information about a Linode user.
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as linode from "@pulumi/linode";
*
* const foo = linode.getUser({
* username: "foo",
* });
* ```
*
* The following example shows a sample grant.
*/
export declare function getUser(args: GetUserArgs, opts?: pulumi.InvokeOptions): Promise<GetUserResult>;
/**
* A collection of arguments for invoking getUser.
*/
export interface GetUserArgs {
databaseGrants?: inputs.GetUserDatabaseGrant[];
domainGrants?: inputs.GetUserDomainGrant[];
firewallGrants?: inputs.GetUserFirewallGrant[];
imageGrants?: inputs.GetUserImageGrant[];
linodeGrants?: inputs.GetUserLinodeGrant[];
longviewGrants?: inputs.GetUserLongviewGrant[];
nodebalancerGrants?: inputs.GetUserNodebalancerGrant[];
placementGroupGrants?: inputs.GetUserPlacementGroupGrant[];
stackscriptGrants?: inputs.GetUserStackscriptGrant[];
/**
* The unique username of this User.
*/
username: string;
volumeGrants?: inputs.GetUserVolumeGrant[];
vpcGrants?: inputs.GetUserVpcGrant[];
}
/**
* A collection of values returned by getUser.
*/
export interface GetUserResult {
readonly databaseGrants: outputs.GetUserDatabaseGrant[];
readonly domainGrants: outputs.GetUserDomainGrant[];
/**
* The email address for this User, for account management communications, and may be used for other communications as configured.
*/
readonly email: string;
readonly firewallGrants: outputs.GetUserFirewallGrant[];
readonly globalGrants: outputs.GetUserGlobalGrant[];
/**
* The ID of entity this grant applies to.
*/
readonly id: string;
readonly imageGrants: outputs.GetUserImageGrant[];
readonly linodeGrants: outputs.GetUserLinodeGrant[];
readonly longviewGrants: outputs.GetUserLongviewGrant[];
readonly nodebalancerGrants: outputs.GetUserNodebalancerGrant[];
/**
* The date and time when this User’s current password was created. User passwords are first created during the Account sign-up process, and updated using the Reset Password webpage. null if this User has not created a password yet.
*/
readonly passwordCreated: string;
readonly placementGroupGrants: outputs.GetUserPlacementGroupGrant[];
/**
* If true, this User must be granted access to perform actions or access entities on this Account.
*/
readonly restricted: boolean;
/**
* A list of SSH Key labels added by this User. These are the keys that will be deployed if this User is included in the authorizedUsers field of a create Linode, rebuild Linode, or create Disk request.
*/
readonly sshKeys: string[];
readonly stackscriptGrants: outputs.GetUserStackscriptGrant[];
/**
* A boolean value indicating if the User has Two Factor Authentication (TFA) enabled.
*/
readonly tfaEnabled: boolean;
/**
* The type of this user.
*/
readonly userType: string;
readonly username: string;
/**
* The phone number verified for this User Profile with the Phone Number Verify command. null if this User Profile has no verified phone number.
*/
readonly verifiedPhoneNumber: string;
readonly volumeGrants: outputs.GetUserVolumeGrant[];
readonly vpcGrants: outputs.GetUserVpcGrant[];
}
/**
* Provides information about a Linode user
* For more information, see the [Linode APIv4 docs](https://techdocs.akamai.com/linode-api/reference/get-user).
*
* ## Example Usage
*
* The following example shows how one might use this data source to access information about a Linode user.
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as linode from "@pulumi/linode";
*
* const foo = linode.getUser({
* username: "foo",
* });
* ```
*
* The following example shows a sample grant.
*/
export declare function getUserOutput(args: GetUserOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output<GetUserResult>;
/**
* A collection of arguments for invoking getUser.
*/
export interface GetUserOutputArgs {
databaseGrants?: pulumi.Input<pulumi.Input<inputs.GetUserDatabaseGrantArgs>[]>;
domainGrants?: pulumi.Input<pulumi.Input<inputs.GetUserDomainGrantArgs>[]>;
firewallGrants?: pulumi.Input<pulumi.Input<inputs.GetUserFirewallGrantArgs>[]>;
imageGrants?: pulumi.Input<pulumi.Input<inputs.GetUserImageGrantArgs>[]>;
linodeGrants?: pulumi.Input<pulumi.Input<inputs.GetUserLinodeGrantArgs>[]>;
longviewGrants?: pulumi.Input<pulumi.Input<inputs.GetUserLongviewGrantArgs>[]>;
nodebalancerGrants?: pulumi.Input<pulumi.Input<inputs.GetUserNodebalancerGrantArgs>[]>;
placementGroupGrants?: pulumi.Input<pulumi.Input<inputs.GetUserPlacementGroupGrantArgs>[]>;
stackscriptGrants?: pulumi.Input<pulumi.Input<inputs.GetUserStackscriptGrantArgs>[]>;
/**
* The unique username of this User.
*/
username: pulumi.Input<string>;
volumeGrants?: pulumi.Input<pulumi.Input<inputs.GetUserVolumeGrantArgs>[]>;
vpcGrants?: pulumi.Input<pulumi.Input<inputs.GetUserVpcGrantArgs>[]>;
}