Resource Type: rustup_internal

Defined in:
lib/puppet/type/rustup_internal.rb
Providers:
default

Summary

Manage a user’s Rust installation with `rustup`

Overview

Use the [‘rustup`](#rustup) defined type instead of this.

The name should be the username.

Autorequires:

* The `user`.
* The directory specified by `home`.
* The directory specified by `cargo_home` and its parent.
* The directory specified by `rustup_home` and its parent.

Properties

  • default_toolchain

    Which toolchain should be default.

  • ensure (defaults to: present)
    • ‘present` - install `rustup`, but don’t update it.

    • ‘latest` - install `rustup` and update it on every puppet run.

    • ‘absent` - uninstall `rustup` and the tools it manages.

    Supported values:
    • present
    • latest
    • absent
  • targets

    The targets to install or remove.

    Each target must be a Hash with three entries:

    * `ensure`: one of `present` or `absent`
    * `name`: the name of the target
    * `toolchain`: the name of the toolchain or `undef` to indicate the
      default toolchain
    
  • toolchains

    The toolchains to install, update, or remove.

    Each toolchain must be a Hash with three entries:

    * `ensure`: one of `present`, `latest`, or `absent`
    * `name`: the name of the toolchain
    * `profile`: one of `minimal`, `default`, or `complete`
    

Parameters

  • cargo_home

    Where ‘cargo` installs executables (autorequired). Generally you shouldn’t change this.

    Default value: ‘“$home/.cargo”`

  • dist_server

    Override ‘RUSTUP_DIST_SERVER`. Set to `’dev-static.rust-lang.org’‘ to install pre-release toolchains.

  • home

    The user’s home directory (autorequired).

    Default value: ‘“/home/$user”`

  • installer_source (defaults to: https://sh.rustup.rs)

    URL of the rustup installation script. Changing this will have no effect after the initial installation.

  • modify_path (defaults to: true)

    Whether or not to let ‘rustup` modify the user’s `PATH` in their shell init scripts. This only affects the initial installation and removal.

    Supported values:
    • true
    • false
    • yes
    • no
  • provider

    The specific backend to use for this ‘rustup_internal` resource. You will seldom need to specify this — Puppet will usually discover the appropriate provider for your platform.

  • purge_targets (defaults to: false)

    Whether or not to uninstall targets that aren’t managed by Puppet.

    Supported values:
    • true
    • false
    • yes
    • no
  • purge_toolchains (defaults to: false)

    Whether or not to uninstall toolchains that aren’t managed by Puppet.

    Supported values:
    • true
    • false
    • yes
    • no
  • rustup_home

    Where toolchains are installed (autorequired). Generally you shouldn’t change this.

    Default value: ‘“$home/.rustup”`

  • user (namevar)

    The user that owns this instance of ‘rustup` (autorequired).