# Functions
AddApplication Adds an application to a team.
AddPermissionsToTeam adds each team's specified permissions to that team
param teams: A slice of structs representing the teams
param m map: containing provider config info
Returns some error on failure or nil on success.
AddUsersToTeam adds the specified users to the specified team
param users: The IDs of the users to add
param team: The ID of the team to add the users to
param m: A map containing configuration info for the provider
Returns some error on failure or nil on success.
AddVMToTeams adds the specified VM to the specified teams
param teams: The IDs of the teams to add this VM to
param vm: The ID of the VM
param m: A map containing config info for the provider
Returns nil on success or some error on failure.
AppTemplateExists returns whether a template exists along with an error value.
AppTemplateRead returns an AppTemplate struct representing the remote state of the specified application template
Param id: The id of the template to read
param m: A map containing configuration info for the provider
Returns the struct representing the template and an error value.
AppTemplateUpdate updates the specified application template with the specified values
Param id: The ID of the template to update
Param template: A struct representing the updated template
param m: A map containing configuration info for the provider
Returns nil on success or some error on failure.
CreateApps creates an application for each of the structs passed.
CreateAppTemplate creates an application template with the specified fields.
CreateTeams creates teams in the specified view
param teams the teams to create
param viewID: the view to create the teams within
param m map: containing provider config info
Returns some error on failure or nil on success.
CreateUser creates a new player user.
CreateView wraps the create view POST call in player API
param view: A struct containing info on the view to be created
param m: A map containing configuration info for the provider
Returns the ID of the view and error on failure or nil on success.
CreateVlan wraps the acquire vlan POST call in caster API
param command: A struct containing info on acquiring a vlan
param m: A map containing configuration info for the provider
Returns the ID of the view and error on failure or nil on success.
CreateVM wraps the the POST function in the VM API that creates a new VM.
DeleteAppInstances deletes all of the specified application instances
param toDelete: The IDs of the app instances to delete
param m: A map containing configuration info for the provider
Returns some error on failure or nil on success.
DeleteApps deletes the applications specified in ids
Returns nil on success or some error on failure.
DeleteAppTemplate deletes the specified app template
Param id: The id of the template to delete
param m: A map containing configuration info for the provider
Returns nil on success or some error on failure.
DeleteTeams deletes the teams specified.
DeleteUser deletes the user with the given id.
DeleteView wraps the player API delete view call
Param id: The id of the view to delete
param m: A map containing configuration info for the provider
Returns error on failure or nil on success.
DeleteVlan wraps the caster API release vlan call
Param id: The id of the vlan to release back into the pool
param m: A map containing configuration info for the provider
Returns error on failure or nil on success.
DeleteVM wraps the API to call to delete a given VM.
GetRoleByID returns the name of the role with the given ID.
GetVMInfo Wraps the VM API call for retrieving vm info.
ReadUser returns a struct representing a given user
param id: The ID of the user to consider
param m: A map containing configuration info for the provider
Returns the user struct and an optional error value.
ReadView wraps the player API call to read the fields of a view
Param id: the id of the view to read
param m: A map containing configuration info for the provider
Returns error on failure or nil on success.
ReadVlan wraps the caster API call to read the fields of a vlan
Param id: the id of the vlan to read
param m: A map containing configuration info for the provider
Returns error on failure or the vlan on success.
RemoveUsers removes the specified users from the specified teams
param teamsToUsers: Maps each team to the users that should be removed from it
param m: A map containing configuration info for the provider
Returns some error on failure or nil on success.
RemoveVMFromTeams removes the specified VM from the specified teams
param teams: The IDs of the teams to remove the VM from
param vm: The ID of the VM
param m: A map containing config info for the provider
Returns nil on success or some error on failure.
SetUserRole sets this user's role within their team
param teamID: The team to set a user's role within
param viewID: The view in which the team where the role is being set lives
user: The user to set a role for
param m: A map containing configuration info for the provider
Returns some error on failure or nil on success.
UpdateAppInstance updates an application instance with new information
param inst: A struct representing the instance to update
param teamID: The ID of the team this instance lives in
param m: A map containing configuration info for the provider
Returns some error on failure or nil on success.
UpdateApps updates the applications specified
param apps: a list of structs.AppInfo structs to be updated
param m: A map containing configuration info for the provider
Returns some error on failure or nil on success.
UpdateTeamPermissions adds and removes the permissions specified from the teams specified
param toAdd: map corresponding teams with lists of permissions to add
param toRemove: map corresponding teams with lists of permissions to remove
param m map: containing provider config info
Returns some error on failure or nil on success.
UpdateTeams updates the specified teams.
UpdateUser updates a user in Player.
UpdateView wraps the update view player API call
param view: A struct containing info on the view to be created
param m: A map containing configuration info for the provider
param id: The id of the view to update
Returns error on failure or nil on success.
UpdateVM wraps the for update VM API call.
UserExists returns true if a user exists and false otherwise
param id: The ID of the user to consider
param m: A map containing configuration info for the provider
Returns whether the user exists and an optional error value.
ViewExists returns true if a view with a given id exists
param id: The ID of the view under consideration
param m: A map containing configuration info for the provider.
VMExists returns true if a VM with the given id exists.