User

Manages a Linode User.

Global Grants

  • account-access - (optional) The level of access this User has to Account-level actions, like billing information. (read_only, read_write)

  • add_domains - (optional) If true, this User may add Domains.

  • add_images - (optional) If true, this User may add Images.

  • add_linodes - (optional) If true, this User may create Linodes.

  • add_longview - (optional) If true, this User may create Longview clients and view the current plan.

  • add_nodebalancers - (optional) If true, this User may add NodeBalancers.

  • add_stackscripts - (optional) If true, this User may add StackScripts.

  • cancel_account - (optional) If true, this User may cancel the entire Account.

  • longview_subscription - (optional) If true, this User may manage the Account’s Longview subscription.

Entity Grants

  • id - (required) The ID of the entity this grant applies to.

  • permissions - (required) The level of access this User has to this entity. (read_only, read_write)

Example Usage

using Pulumi;
using Linode = Pulumi.Linode;

class MyStack : Stack
{
    public MyStack()
    {
        var john = new Linode.User("john", new Linode.UserArgs
        {
            Email = "john@acme.io",
            Username = "john123",
        });
    }

}
package main

import (
	"github.com/pulumi/pulumi-linode/sdk/v3/go/linode"
	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := linode.NewUser(ctx, "john", &linode.UserArgs{
			Email:    pulumi.String("john@acme.io"),
			Username: pulumi.String("john123"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}
import pulumi
import pulumi_linode as linode

john = linode.User("john",
    email="john@acme.io",
    username="john123")
import * as pulumi from "@pulumi/pulumi";
import * as linode from "@pulumi/linode";

const john = new linode.User("john", {
    email: "john@acme.io",
    username: "john123",
});

Create a User Resource

new User(name: string, args: UserArgs, opts?: CustomResourceOptions);
@overload
def User(resource_name: str,
         opts: Optional[ResourceOptions] = None,
         domain_grants: Optional[Sequence[UserDomainGrantArgs]] = None,
         email: Optional[str] = None,
         global_grants: Optional[UserGlobalGrantsArgs] = None,
         image_grants: Optional[Sequence[UserImageGrantArgs]] = None,
         linode_grants: Optional[Sequence[UserLinodeGrantArgs]] = None,
         longview_grants: Optional[Sequence[UserLongviewGrantArgs]] = None,
         nodebalancer_grants: Optional[Sequence[UserNodebalancerGrantArgs]] = None,
         restricted: Optional[bool] = None,
         stackscript_grants: Optional[Sequence[UserStackscriptGrantArgs]] = None,
         username: Optional[str] = None,
         volume_grants: Optional[Sequence[UserVolumeGrantArgs]] = None)
@overload
def User(resource_name: str,
         args: UserArgs,
         opts: Optional[ResourceOptions] = None)
func NewUser(ctx *Context, name string, args UserArgs, opts ...ResourceOption) (*User, error)
public User(string name, UserArgs args, CustomResourceOptions? opts = null)
name string
The unique name of the resource.
args UserArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.
resource_name str
The unique name of the resource.
args UserArgs
The arguments to resource properties.
opts ResourceOptions
Bag of options to control resource's behavior.
ctx Context
Context object for the current deployment.
name string
The unique name of the resource.
args UserArgs
The arguments to resource properties.
opts ResourceOption
Bag of options to control resource's behavior.
name string
The unique name of the resource.
args UserArgs
The arguments to resource properties.
opts CustomResourceOptions
Bag of options to control resource's behavior.

User Resource Properties

To learn more about resource properties and how to use them, see Inputs and Outputs in the Programming Model docs.

Inputs

The User resource accepts the following input properties:

Email string
The email address of the user.
Username string
The username of the user.
DomainGrants List<UserDomainGrantArgs>
The domains the user has permissions access to.
GlobalGrants UserGlobalGrantsArgs
A structure containing the Account-level grants a User has.
ImageGrants List<UserImageGrantArgs>
The images the user has permissions access to.
LinodeGrants List<UserLinodeGrantArgs>
The Linodes the user has permissions access to.
LongviewGrants List<UserLongviewGrantArgs>
The longview the user has permissions access to.
NodebalancerGrants List<UserNodebalancerGrantArgs>
The NodeBalancers the user has permissions access to.
Restricted bool
If true, this user will only have explicit permissions granted.
StackscriptGrants List<UserStackscriptGrantArgs>
The StackScripts the user has permissions access to.
VolumeGrants List<UserVolumeGrantArgs>
The volumes the user has permissions access to.
Email string
The email address of the user.
Username string
The username of the user.
DomainGrants []UserDomainGrant
The domains the user has permissions access to.
GlobalGrants UserGlobalGrants
A structure containing the Account-level grants a User has.
ImageGrants []UserImageGrant
The images the user has permissions access to.
LinodeGrants []UserLinodeGrant
The Linodes the user has permissions access to.
LongviewGrants []UserLongviewGrant
The longview the user has permissions access to.
NodebalancerGrants []UserNodebalancerGrant
The NodeBalancers the user has permissions access to.
Restricted bool
If true, this user will only have explicit permissions granted.
StackscriptGrants []UserStackscriptGrant
The StackScripts the user has permissions access to.
VolumeGrants []UserVolumeGrant
The volumes the user has permissions access to.
email string
The email address of the user.
username string
The username of the user.
domainGrants UserDomainGrantArgs[]
The domains the user has permissions access to.
globalGrants UserGlobalGrantsArgs
A structure containing the Account-level grants a User has.
imageGrants UserImageGrantArgs[]
The images the user has permissions access to.
linodeGrants UserLinodeGrantArgs[]
The Linodes the user has permissions access to.
longviewGrants UserLongviewGrantArgs[]
The longview the user has permissions access to.
nodebalancerGrants UserNodebalancerGrantArgs[]
The NodeBalancers the user has permissions access to.
restricted boolean
If true, this user will only have explicit permissions granted.
stackscriptGrants UserStackscriptGrantArgs[]
The StackScripts the user has permissions access to.
volumeGrants UserVolumeGrantArgs[]
The volumes the user has permissions access to.
email str
The email address of the user.
username str
The username of the user.
domain_grants Sequence[UserDomainGrantArgs]
The domains the user has permissions access to.
global_grants UserGlobalGrantsArgs
A structure containing the Account-level grants a User has.
image_grants Sequence[UserImageGrantArgs]
The images the user has permissions access to.
linode_grants Sequence[UserLinodeGrantArgs]
The Linodes the user has permissions access to.
longview_grants Sequence[UserLongviewGrantArgs]
The longview the user has permissions access to.
nodebalancer_grants Sequence[UserNodebalancerGrantArgs]
The NodeBalancers the user has permissions access to.
restricted bool
If true, this user will only have explicit permissions granted.
stackscript_grants Sequence[UserStackscriptGrantArgs]
The StackScripts the user has permissions access to.
volume_grants Sequence[UserVolumeGrantArgs]
The volumes the user has permissions access to.

Outputs

All input properties are implicitly available as output properties. Additionally, the User resource produces the following output properties:

Id string
The provider-assigned unique ID for this managed resource.
SshKeys List<string>
A list of the User’s SSH keys.
TfaEnabled bool
Whether the user has two-factor-authentication enabled.
Id string
The provider-assigned unique ID for this managed resource.
SshKeys []string
A list of the User’s SSH keys.
TfaEnabled bool
Whether the user has two-factor-authentication enabled.
id string
The provider-assigned unique ID for this managed resource.
sshKeys string[]
A list of the User’s SSH keys.
tfaEnabled boolean
Whether the user has two-factor-authentication enabled.
id str
The provider-assigned unique ID for this managed resource.
ssh_keys Sequence[str]
A list of the User’s SSH keys.
tfa_enabled bool
Whether the user has two-factor-authentication enabled.

Look up an Existing User Resource

Get an existing User resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

public static get(name: string, id: Input<ID>, state?: UserState, opts?: CustomResourceOptions): User
@staticmethod
def get(resource_name: str,
        id: str,
        opts: Optional[ResourceOptions] = None,
        domain_grants: Optional[Sequence[UserDomainGrantArgs]] = None,
        email: Optional[str] = None,
        global_grants: Optional[UserGlobalGrantsArgs] = None,
        image_grants: Optional[Sequence[UserImageGrantArgs]] = None,
        linode_grants: Optional[Sequence[UserLinodeGrantArgs]] = None,
        longview_grants: Optional[Sequence[UserLongviewGrantArgs]] = None,
        nodebalancer_grants: Optional[Sequence[UserNodebalancerGrantArgs]] = None,
        restricted: Optional[bool] = None,
        ssh_keys: Optional[Sequence[str]] = None,
        stackscript_grants: Optional[Sequence[UserStackscriptGrantArgs]] = None,
        tfa_enabled: Optional[bool] = None,
        username: Optional[str] = None,
        volume_grants: Optional[Sequence[UserVolumeGrantArgs]] = None) -> User
func GetUser(ctx *Context, name string, id IDInput, state *UserState, opts ...ResourceOption) (*User, error)
public static User Get(string name, Input<string> id, UserState? state, CustomResourceOptions? opts = null)
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
resource_name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.
name
The unique name of the resulting resource.
id
The unique provider ID of the resource to lookup.
state
Any extra arguments used during the lookup.
opts
A bag of options that control this resource's behavior.

The following state arguments are supported:

DomainGrants List<UserDomainGrantArgs>
The domains the user has permissions access to.
Email string
The email address of the user.
GlobalGrants UserGlobalGrantsArgs
A structure containing the Account-level grants a User has.
ImageGrants List<UserImageGrantArgs>
The images the user has permissions access to.
LinodeGrants List<UserLinodeGrantArgs>
The Linodes the user has permissions access to.
LongviewGrants List<UserLongviewGrantArgs>
The longview the user has permissions access to.
NodebalancerGrants List<UserNodebalancerGrantArgs>
The NodeBalancers the user has permissions access to.
Restricted bool
If true, this user will only have explicit permissions granted.
SshKeys List<string>
A list of the User’s SSH keys.
StackscriptGrants List<UserStackscriptGrantArgs>
The StackScripts the user has permissions access to.
TfaEnabled bool
Whether the user has two-factor-authentication enabled.
Username string
The username of the user.
VolumeGrants List<UserVolumeGrantArgs>
The volumes the user has permissions access to.
DomainGrants []UserDomainGrant
The domains the user has permissions access to.
Email string
The email address of the user.
GlobalGrants UserGlobalGrants
A structure containing the Account-level grants a User has.
ImageGrants []UserImageGrant
The images the user has permissions access to.
LinodeGrants []UserLinodeGrant
The Linodes the user has permissions access to.
LongviewGrants []UserLongviewGrant
The longview the user has permissions access to.
NodebalancerGrants []UserNodebalancerGrant
The NodeBalancers the user has permissions access to.
Restricted bool
If true, this user will only have explicit permissions granted.
SshKeys []string
A list of the User’s SSH keys.
StackscriptGrants []UserStackscriptGrant
The StackScripts the user has permissions access to.
TfaEnabled bool
Whether the user has two-factor-authentication enabled.
Username string
The username of the user.
VolumeGrants []UserVolumeGrant
The volumes the user has permissions access to.
domainGrants UserDomainGrantArgs[]
The domains the user has permissions access to.
email string
The email address of the user.
globalGrants UserGlobalGrantsArgs
A structure containing the Account-level grants a User has.
imageGrants UserImageGrantArgs[]
The images the user has permissions access to.
linodeGrants UserLinodeGrantArgs[]
The Linodes the user has permissions access to.
longviewGrants UserLongviewGrantArgs[]
The longview the user has permissions access to.
nodebalancerGrants UserNodebalancerGrantArgs[]
The NodeBalancers the user has permissions access to.
restricted boolean
If true, this user will only have explicit permissions granted.
sshKeys string[]
A list of the User’s SSH keys.
stackscriptGrants UserStackscriptGrantArgs[]
The StackScripts the user has permissions access to.
tfaEnabled boolean
Whether the user has two-factor-authentication enabled.
username string
The username of the user.
volumeGrants UserVolumeGrantArgs[]
The volumes the user has permissions access to.
domain_grants Sequence[UserDomainGrantArgs]
The domains the user has permissions access to.
email str
The email address of the user.
global_grants UserGlobalGrantsArgs
A structure containing the Account-level grants a User has.
image_grants Sequence[UserImageGrantArgs]
The images the user has permissions access to.
linode_grants Sequence[UserLinodeGrantArgs]
The Linodes the user has permissions access to.
longview_grants Sequence[UserLongviewGrantArgs]
The longview the user has permissions access to.
nodebalancer_grants Sequence[UserNodebalancerGrantArgs]
The NodeBalancers the user has permissions access to.
restricted bool
If true, this user will only have explicit permissions granted.
ssh_keys Sequence[str]
A list of the User’s SSH keys.
stackscript_grants Sequence[UserStackscriptGrantArgs]
The StackScripts the user has permissions access to.
tfa_enabled bool
Whether the user has two-factor-authentication enabled.
username str
The username of the user.
volume_grants Sequence[UserVolumeGrantArgs]
The volumes the user has permissions access to.

Supporting Types

UserDomainGrant

Id int
Permissions string
Id int
Permissions string
id number
permissions string

UserGlobalGrants

UserImageGrant

Id int
Permissions string
Id int
Permissions string
id number
permissions string

UserLinodeGrant

Id int
Permissions string
Id int
Permissions string
id number
permissions string

UserLongviewGrant

Id int
Permissions string
Id int
Permissions string
id number
permissions string

UserNodebalancerGrant

Id int
Permissions string
Id int
Permissions string
id number
permissions string

UserStackscriptGrant

Id int
Permissions string
Id int
Permissions string
id number
permissions string

UserVolumeGrant

Id int
Permissions string
Id int
Permissions string
id number
permissions string

Package Details

Repository
https://github.com/pulumi/pulumi-linode
License
Apache-2.0
Notes
This Pulumi package is based on the linode Terraform Provider.