Class: JSS::ComputerInvitation
- Includes:
- Creatable
- Defined in:
- lib/jss/api_object/computer_invitation.rb
Overview
This class represents a Computer Invitation in the JSS.
Adding Computer Invitations to the JSS
This class is meant only to generate and hold the response of creating an invitation.
Constant Summary collapse
- RSRC_BASE =
The base for REST resources of this class
'computerinvitations'.freeze
- RSRC_LIST_KEY =
the hash key used for the JSON list output of all objects in the JSS
:computer_invitations
- RSRC_OBJECT_KEY =
The hash key used for the JSON object output. It’s also used in various error messages
:computer_invitation
- VALID_DATA_KEYS =
these keys, as well as :id and :name, are present in valid API JSON data for this class
[:invitation].freeze
- OTHER_LOOKUP_KEYS =
See JSS::APIObject
{ invitation: {rsrc_key: :invitation, list: :all_invitations} }.freeze
Instance Attribute Summary collapse
-
#create_account_if_does_not_exist ⇒ String
“true” or “false” are valid values.
-
#expiration_date_epoch ⇒ String
Time since epoch that the invitation will expire at.
-
#hide_account ⇒ String
The whether or not to hide the ssh user.
-
#invitation_status ⇒ String
The invitation_status.
-
#invitation_type ⇒ String
Valid values are: URL and EMAIL.
-
#multiple_uses_allowed ⇒ String
Whether the invitation can be used multiple times (boolean).
-
#name ⇒ String
readonly
The invitation name.
-
#ssh_username ⇒ String
The username of the ssh user to be created.
Class Method Summary collapse
-
.all_invitations ⇒ Object
Class Methods.
Instance Method Summary collapse
-
#clone(new_name) ⇒ APIObject
included
from Creatable
make a clone of this API object, with a new name.
-
#create ⇒ JSS::ComputerInvitation
Needed to support creation of new Computer Invitations to set their name.
-
#initialize(args = { id: :new, name: 'some_new_name', ssh_username: 'casper_remote', hide_account: 'true' }) ⇒ ComputerInvitation
constructor
A new instance of ComputerInvitation.
Constructor Details
#initialize(args = { id: :new, name: 'some_new_name', ssh_username: 'casper_remote', hide_account: 'true' }) ⇒ ComputerInvitation
Returns a new instance of ComputerInvitation.
140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 |
# File 'lib/jss/api_object/computer_invitation.rb', line 140 def initialize(args = { id: :new, name: 'some_new_name', ssh_username: 'casper_remote', hide_account: 'true' }) super args @name = @init_data[:invitation] @invitation_type = @init_data[:invitation_type] @create_account_if_does_not_exist = @init_data[:create_account_if_does_not_exist] @expiration_date_epoch = @init_data[:expiration_date_epoch] || args[:expiration_date_epoch] @ssh_username = @init_data[:ssh_username] || args[:ssh_username] @hide_account = @init_data[:hide_account] || args[:hide_account] @invitation_status = @init_data[:invitation_status] || args[:invitation_status] @multiple_uses_allowed = @init_data[:multiple_uses_allowed] || args[:multiple_uses_allowed] end |
Instance Attribute Details
#create_account_if_does_not_exist ⇒ String
“true” or “false” are valid values.
104 105 106 |
# File 'lib/jss/api_object/computer_invitation.rb', line 104 def create_account_if_does_not_exist @create_account_if_does_not_exist end |
#expiration_date_epoch ⇒ String
Time since epoch that the invitation will expire at.
Note: defaults to “Unlimited”, so only set if it should expire.
111 112 113 |
# File 'lib/jss/api_object/computer_invitation.rb', line 111 def expiration_date_epoch @expiration_date_epoch end |
#hide_account ⇒ String
The whether or not to hide the ssh user.
123 124 125 |
# File 'lib/jss/api_object/computer_invitation.rb', line 123 def hide_account @hide_account end |
#invitation_status ⇒ String
The invitation_status.
128 129 130 |
# File 'lib/jss/api_object/computer_invitation.rb', line 128 def invitation_status @invitation_status end |
#invitation_type ⇒ String
Valid values are: URL and EMAIL. Will default to DEFAULT.
99 100 101 |
# File 'lib/jss/api_object/computer_invitation.rb', line 99 def invitation_type @invitation_type end |
#multiple_uses_allowed ⇒ String
Whether the invitation can be used multiple times (boolean).
133 134 135 |
# File 'lib/jss/api_object/computer_invitation.rb', line 133 def multiple_uses_allowed @multiple_uses_allowed end |
#name ⇒ String (readonly)
Returns the invitation name.
94 95 96 |
# File 'lib/jss/api_object/computer_invitation.rb', line 94 def name @name end |
#ssh_username ⇒ String
The username of the ssh user to be created.
REQUIRED for valid setup.
118 119 120 |
# File 'lib/jss/api_object/computer_invitation.rb', line 118 def ssh_username @ssh_username end |
Class Method Details
.all_invitations ⇒ Object
Class Methods
61 62 63 |
# File 'lib/jss/api_object/computer_invitation.rb', line 61 def self.all_invitations all.map { |ci| ci[:invitation] } end |
Instance Method Details
#clone(new_name) ⇒ APIObject Originally defined in module Creatable
make a clone of this API object, with a new name. The class must be creatable
#create ⇒ JSS::ComputerInvitation
Needed to support creation of new Computer Invitations to set their name.
166 167 168 169 170 171 172 173 174 175 176 177 178 |
# File 'lib/jss/api_object/computer_invitation.rb', line 166 def create new_invitation_id = super jss_me = ComputerInvitation.new(id: new_invitation_id, name: 'set_by_request') @name = jss_me.name @invitation_type = jss_me.invitation_type @create_account_if_does_not_exist = jss_me.create_account_if_does_not_exist @expiration_date_epoch = jss_me.expiration_date_epoch @ssh_username = jss_me.ssh_username @hide_account = jss_me.hide_account @invitation_status = jss_me.invitation_status @multiple_uses_allowed = jss_me.multiple_uses_allowed end |