platform

package
v0.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 12, 2021 License: Apache-2.0 Imports: 11 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (

	// Right reppresents a struct of valid rights
	Right = struct {
		Grant, View, Edit, Delete, Add, Run, Login, Checkout, Retrieve, ManageSession, AgentAuth, OfflineRescue, AddAccount, UnlockAccount, RequestZoneRole, FileTransfer, UpdatePassword, WorkspaceLogin, RotatePassword, RetrieveSecret, ManagementAssignment string
	}{
		Grant:                "Grant",
		View:                 "View",
		Edit:                 "Edit",
		Delete:               "Delete",
		Add:                  "Add",
		Run:                  "Run",
		Login:                "Login",
		Checkout:             "Checkout",
		Retrieve:             "Retrieve",
		ManageSession:        "ManageSession",
		AgentAuth:            "AgentAuth",
		OfflineRescue:        "OfflineRescue",
		AddAccount:           "AddAccount",
		UnlockAccount:        "UnlockAccount",
		RequestZoneRole:      "RequestZoneRole",
		FileTransfer:         "FileTransfer",
		UpdatePassword:       "UpdatePassword",
		WorkspaceLogin:       "WorkspaceLogin",
		RotatePassword:       "RotatePassword",
		RetrieveSecret:       "RetrieveSecret",
		ManagementAssignment: "ManagementAssignment",
	}

	// ValidPermissionMap represents a struct of valid permissions
	ValidPermissionMap = struct {
		Generic, Set, WinNix, System, Database, Domain, Account, DBAccount, DomainAccount, CloudAccount, MultiplexAccount, Secret, SSHKey, Service, Application, Folder map[string]string
	}{
		Generic: map[string]string{Right.Grant: Right.Grant, Right.View: Right.View, Right.Edit: Right.Edit, Right.Delete: Right.Delete},

		Set: map[string]string{Right.Grant: Right.Grant, Right.View: Right.View, Right.Edit: Right.Edit, Right.Delete: Right.Delete},

		WinNix: map[string]string{Right.Grant: Right.Grant, Right.View: Right.View, Right.ManageSession: Right.ManageSession, Right.Edit: Right.Edit, Right.Delete: Right.Delete, Right.AgentAuth: Right.AgentAuth, Right.OfflineRescue: Right.OfflineRescue, Right.AddAccount: Right.AddAccount, Right.UnlockAccount: Right.UnlockAccount, Right.ManagementAssignment: "ManagePrivilegeElevationAssignment", Right.RequestZoneRole: Right.RequestZoneRole},

		System: map[string]string{Right.Grant: Right.Grant, Right.View: Right.View, Right.ManageSession: Right.ManageSession, Right.Edit: Right.Edit, Right.Delete: Right.Delete, Right.AgentAuth: Right.AgentAuth, Right.OfflineRescue: Right.OfflineRescue, Right.AddAccount: Right.AddAccount, Right.UnlockAccount: Right.UnlockAccount},

		Database: map[string]string{Right.Grant: Right.Grant, Right.View: Right.View, Right.Edit: Right.Edit, Right.Delete: Right.Delete},

		Domain: map[string]string{Right.Grant: Right.Grant, Right.View: Right.View, Right.Edit: Right.Edit, Right.Delete: Right.Delete, Right.UnlockAccount: Right.UnlockAccount, Right.AddAccount: Right.AddAccount},

		Account: map[string]string{Right.Grant: "Owner", Right.View: Right.View, Right.Checkout: "Naked", Right.Login: Right.Login, Right.FileTransfer: Right.FileTransfer, Right.Edit: "Manage", Right.Delete: Right.Delete, Right.UpdatePassword: Right.UpdatePassword, Right.WorkspaceLogin: "UserPortalLogin", Right.RotatePassword: Right.RotatePassword},

		DBAccount: map[string]string{Right.Grant: "Owner", Right.View: Right.View, Right.Checkout: "Naked", Right.Edit: "Manage", Right.Delete: Right.Delete, Right.UpdatePassword: Right.UpdatePassword, Right.RotatePassword: Right.RotatePassword},

		DomainAccount: map[string]string{Right.Grant: "Owner", Right.View: Right.View, Right.Checkout: "Naked", Right.Login: Right.Login, Right.FileTransfer: Right.FileTransfer, Right.Edit: "Manage", Right.Delete: Right.Delete, Right.UpdatePassword: Right.UpdatePassword, Right.RotatePassword: Right.RotatePassword},

		CloudAccount: map[string]string{Right.Grant: "Owner", Right.View: Right.View, Right.Checkout: "Naked", Right.Login: Right.Login, Right.Edit: "Manage", Right.Delete: Right.Delete, Right.UpdatePassword: Right.UpdatePassword, Right.RotatePassword: Right.RotatePassword},

		MultiplexAccount: map[string]string{Right.Grant: Right.Grant, Right.Edit: Right.Edit, Right.Delete: Right.Delete},

		Secret: map[string]string{Right.Grant: Right.Grant, Right.View: Right.View, Right.Edit: Right.Edit, Right.Delete: Right.Delete, Right.RetrieveSecret: "Retrieve"},

		SSHKey: map[string]string{Right.Grant: "Owner", Right.View: Right.View, Right.Retrieve: "Checkout", Right.Edit: "Manage", Right.Delete: Right.Delete},

		Service: map[string]string{Right.Grant: Right.Grant, Right.Edit: Right.Edit, Right.Delete: Right.Delete},

		Application: map[string]string{Right.Grant: Right.Grant, Right.View: Right.View, Right.Run: "Execute"},

		Folder: map[string]string{Right.Grant: Right.Grant, Right.View: Right.View, Right.Edit: Right.Edit, Right.Delete: Right.Delete, Right.Add: Right.Add},
	}
)

Functions

func ConvertToValidList

func ConvertToValidList(input []string, validMap map[string]string) ([]string, error)

ConvertToValidList converts provide list of rights to actual values that can be used for API call Converts []string{"a1", "b1"} to []string{"a2", "b2"} from map[string]string{"a1": "a2", "b1": "b2"}

func FlattenSliceToString

func FlattenSliceToString(input []string) string

FlattenSliceToString converts ["value1", "value2"] to "value1,value2"

func GenerateSchemaMap

func GenerateSchemaMap(i interface{}) (map[string]interface{}, error)

GenerateSchemaMap converts object into map according to object's json schema definition

func GetVarType

func GetVarType(myvar interface{}) string

GetVarType returns variable type name as string

func RedRockQuery

func RedRockQuery(client *restapi.RestClient, query string, args map[string]interface{}) ([]interface{}, error)

RedRockQuery issues RedRock API query

func ResolvePermissions

func ResolvePermissions(c *restapi.RestClient, perms []Permission, validPerms map[string]string) error

ResolvePermissions given a list of Permissions, resolve PrincipalID and convert the given rights to actual rights

Types

type AccessKey

type AccessKey struct {
	ID              string `json:"ID,omitempty" schema:"id,omitempty"`
	AccessKeyID     string `json:"AccessKeyId,omitempty" schema:"access_key_id,omitempty"`
	SecretAccessKey string `json:"SecretAccessKey,omitempty" schema:"secret_access_key,omitempty"`
}

AccessKey represents AWS access key

type Account

type Account struct {

	// For password checkout and direct SDK call purpose
	ResourceType string `json:"-"`
	ResourceName string `json:"-"`

	// Settings menu
	User            string `json:"User,omitempty" schema:"name,omitempty"` // User Name
	Password        string `json:"Password,omitempty" schema:"password,omitempty"`
	Host            string `json:"Host,omitempty" schema:"host_id,omitempty"`
	SSHKeyID        string `json:"SshKeyId,omitempty" schema:"sshkey_id,omitempty"`
	DomainID        string `json:"DomainID,omitempty" schema:"domain_id,omitempty"`
	DatabaseID      string `json:"DatabaseID,omitempty" schema:"database_id,omitempty"`
	CredentialType  string `json:"CredentialType,omitempty" schema:"credential_type,omitempty"` // Password or SshKey
	CredentialID    string `json:"CredentialId,omitempty" schema:"credential_id,omitempty"`
	CloudProviderID string `json:"CloudProviderId,omitempty" schema:"cloudprovider_id,omitempty"`
	IsRootAccount   bool   `json:"IsRootAccount,omitempty" schema:"is_root_account,omitempty"`

	// Policy menu
	UseWheel                       bool            `json:"UseWheel,omitempty" schema:"use_proxy_account,omitempty"` // Use proxy account
	IsManaged                      bool            `json:"IsManaged,omitempty" schema:"managed,omitempty"`          // manage this credential
	Description                    string          `json:"Description,omitempty" schema:"description,omitempty"`
	Status                         string          `json:"Status,omitempty" schema:"status,omitempty"`
	DefaultCheckoutTime            int             `json:"DefaultCheckoutTime,omitempty" schema:"checkout_lifetime,omitempty"` // Checkout lifetime (minutes)
	PasswordCheckoutDefaultProfile string          `json:"PasswordCheckoutDefaultProfile" schema:"default_profile_id"`         // Default Password Checkout Profile (used if no conditions matched)
	ChallengeRules                 *ChallengeRules `json:"PasswordCheckoutRules,omitempty" schema:"challenge_rule,omitempty"`

	IsAdminAccount                     bool            `json:"IsAdminAccount,omitempty" schema:"is_admin_account,omitempty"`
	AccessKeys                         []AccessKey     `json:"AccessKeys,omitempty" schema:"access_key,omitempty"`
	AccessSecretCheckoutDefaultProfile string          `json:"AccessSecretCheckoutDefaultProfile,omitempty" schema:"access_secret_checkout_default_profile_id,omitempty"`
	AccessSecretCheckoutRules          *ChallengeRules `json:"AccessSecretCheckoutRules,omitempty" schema:"access_secret_checkout_rule,omitempty"`
	// contains filtered or unexported fields
}

Account - Encapsulates a single generic Account

func NewAccount

func NewAccount(c *restapi.RestClient) *Account

NewAccount is Account constructor

func (*Account) AddAccessKey

func (o *Account) AddAccessKey(key AccessKey) error

AddAccessKey adds access key into this account

func (*Account) AddToSetsByID

func (o *Account) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*Account) AddToSetsByName

func (o *Account) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*Account) ChangePassword

func (o *Account) ChangePassword() (*restapi.BoolResponse, error)

ChangePassword function updates an existing Account password and returns a map that contains update result

func (*Account) CheckinPassword

func (o *Account) CheckinPassword(coid string) (*restapi.BoolResponse, error)

CheckinPassword checks in an checked out account password

func (*Account) CheckoutPassword

func (o *Account) CheckoutPassword(checkin bool) (string, error)

CheckoutPassword checks out account password from vault Returns actual password, coid or error

func (*Account) Create

func (o *Account) Create() (*restapi.StringResponse, error)

Create function creates a new Account and returns a map that contains creation result

func (*Account) Delete

func (o *Account) Delete() (*restapi.BoolResponse, error)

Delete function deletes a Account and returns a map that contains deletion result

func (*Account) DeleteAccessKey

func (o *Account) DeleteAccessKey(id string) error

DeleteAccessKey deletes an IAM access key

func (*Account) DeleteByName

func (o *Account) DeleteByName() (*restapi.BoolResponse, error)

DeleteByName deletes a DesktopApp by name

func (*Account) FillStruct

func (o *Account) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*Account) GetAccessKeys

func (o *Account) GetAccessKeys() ([]AccessKey, error)

GetAccessKeys get all access key entries

func (*Account) GetByName

func (o *Account) GetByName() error

GetByName retrieves vault object from tenant by name

func (*Account) GetIDByName

func (o *Account) GetIDByName() (string, error)

GetIDByName returns vault object ID by name

func (*Account) Query

func (o *Account) Query() (map[string]interface{}, error)

Query function returns a single Account object in map format

func (*Account) Read

func (o *Account) Read() error

Read function fetches a Account from source, including attribute values. Returns error if any

func (*Account) ResolveValidPermissions

func (o *Account) ResolveValidPermissions()

ResolveValidPermissions resolves valid permission according to account type

func (*Account) RetrieveAccessKey

func (o *Account) RetrieveAccessKey(accessKeyID string) (string, error)

RetrieveAccessKey retrieves secret access key

func (*Account) RetrieveSSHKey

func (o *Account) RetrieveSSHKey(keytype string, passphrase string) (string, error)

RetrieveSSHKey retrieves SSH key from an account

func (*Account) SafeAddAccessKey

func (o *Account) SafeAddAccessKey(key AccessKey) error

SafeAddAccessKey verifies then adds access key

func (*Account) SetAdminAccount

func (o *Account) SetAdminAccount(enable bool) error

SetAdminAccount set this account as admin account

func (*Account) SetPermissions

func (o *Account) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*Account) Update

func (o *Account) Update() (*restapi.GenericMapResponse, error)

Update function updates an existing Account and returns a map that contains update result

func (*Account) ValidateCredentialType

func (o *Account) ValidateCredentialType() error

ValidateCredentialType checks credential type matches password or sshkey setting

func (*Account) VerifyAccessKey

func (o *Account) VerifyAccessKey(key AccessKey) error

VerifyAccessKey verifies that access key is valid against AWS

type AdditionalData

type AdditionalData struct {
	NumberOfQuestions int `json:"NumberOfQuestions,omitempty" schema:"number_of_questions,omitempty"` // Number of questions user must answer
}

AdditionalData for AuthenticationProfile

type AuthenticationProfile

type AuthenticationProfile struct {
	UUID              string          `json:"Uuid,omitempty" schema:"uuid,omitempty"`
	DurationInMinutes int             `json:"DurationInMinutes" schema:"pass_through_duration"` // Challenge Pass-Through Duration. Can't omitempty because 0 mean no pass-through
	Challenges        []string        `json:"Challenges,omitempty" schema:"challenges,omitempty"`
	AdditionalData    *AdditionalData `json:"AdditionalData,omitempty" schema:"additional_data,omitempty"`
	NumberOfQuestions int             `json:"-"`
	Challenge1        []string        `json:"-"`
	Challenge2        []string        `json:"-"`
	// contains filtered or unexported fields
}

// AuthenticationMechanisms represents valid authentication mechanisms

var AuthenticationMechanisms = struct {
	Password, MobileAuthenticator, PhoneCall, SMS, EmailConfirmationCode, OATH_OTP, Radius, FIDO2, SecurityQuestions string
}{
	Password:              "UP",
	MobileAuthenticator:   "OTP",
	PhoneCall:             "PF",
	SMS:                   "SMS",
	EmailConfirmationCode: "EMAIL",
	OATH_OTP:              "OATH",
	Radius:                "RADIUS",
	FIDO2:                 "U2F",
	SecurityQuestions:     "SQ",
}

AuthenticationProfile - Encapsulates a single Authentication Profile

func NewAuthenticationProfile

func NewAuthenticationProfile(c *restapi.RestClient) *AuthenticationProfile

NewAuthenticationProfile is a AuthenticationProfile constructor

func (*AuthenticationProfile) AddToSetsByID

func (o *AuthenticationProfile) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*AuthenticationProfile) AddToSetsByName

func (o *AuthenticationProfile) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*AuthenticationProfile) Create

Create function creates an authentication profile and returns a map that contains update result

func (*AuthenticationProfile) Delete

Delete function deletes an authentication profile and returns a map that contains deletion result

func (*AuthenticationProfile) DeleteByName

func (o *AuthenticationProfile) DeleteByName() (*restapi.GenericMapResponse, error)

DeleteByName deletes a authentication profile by name

func (*AuthenticationProfile) FillStruct

func (o *AuthenticationProfile) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*AuthenticationProfile) GetByName

func (o *AuthenticationProfile) GetByName() error

GetByName retrieves authentication profile from tenant by name

func (*AuthenticationProfile) GetIDByName

func (o *AuthenticationProfile) GetIDByName() (string, error)

GetIDByName returns authentication profile ID by name

func (*AuthenticationProfile) Query

func (o *AuthenticationProfile) Query() (map[string]interface{}, error)

Query function returns a single authentication profile object

func (*AuthenticationProfile) Read

func (o *AuthenticationProfile) Read() error

Read function fetches an authentication profile from source, including attribute values. Returns error if any

func (*AuthenticationProfile) SetPermissions

func (o *AuthenticationProfile) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*AuthenticationProfile) Update

Update function updates an existing authentication profile and returns a map that contains update result

type ChallengeCondition

type ChallengeCondition struct {
	Filter    string `json:"Prop,omitempty" schema:"filter,omitempty"`
	Condition string `json:"Op,omitempty" schema:"condition,omitempty"`
	Value     string `json:"Val,omitempty" schema:"value,omitempty"`
}

ChallengeCondition represents a single challenge rule

type ChallengeRule

type ChallengeRule struct {
	ChallengeCondition []ChallengeCondition `json:"Conditions,omitempty" schema:"rule,omitempty"`
	AuthProfileID      string               `json:"ProfileId,omitempty" schema:"authentication_profile_id,omitempty"` // "-1" means Not Allowed
}

ChallengeRule represents a set of login rule

type ChallengeRules

type ChallengeRules struct {
	Enabled   bool            `json:"Enabled,omitempty" schema:"enabled,omitempty"`
	UniqueKey string          `json:"_UniqueKey,omitempty" schema:"unique_key,omitempty"`
	Type      string          `json:"_Type,omitempty" schema:"type,omitempty"`
	Rules     []ChallengeRule `json:"_Value,omitempty" schema:"rule,omitempty"`
}

ChallengeRules represents list of login rule set

type CloudProvider

type CloudProvider struct {
	CloudAccountID                            string          `json:"CloudAccountId,omitempty" schema:"cloud_account_id,omitempty"`
	Type                                      string          `json:"Type,omitempty" schema:"type,omitempty"`
	EnableUnmanagedPasswordRotation           bool            `json:"EnableUnmanagedPasswordRotation,omitempty" schema:"enable_interactive_password_rotation,omitempty"`
	EnableUnmanagedPasswordRotationPrompt     bool            `json:"EnableUnmanagedPasswordRotationPrompt,omitempty" schema:"prompt_change_root_password,omitempty"`
	EnableUnmanagedPasswordRotationReminder   bool            `json:"EnableUnmanagedPasswordRotationReminder,omitempty" schema:"enable_password_rotation_reminders,omitempty"`
	UnmanagedPasswordRotationReminderDuration int             `json:"UnmanagedPasswordRotationReminderDuration,omitempty" schema:"password_rotation_reminder_duration,omitempty"`
	ChallengeRules                            *ChallengeRules `json:"LoginRules,omitempty" schema:"challenge_rule,omitempty"`              // CloudProvider Login Challenge Rules
	LoginDefaultProfile                       string          `json:"LoginDefaultProfile,omitempty" schema:"default_profile_id,omitempty"` // Default CloudProvider Login Profile (used if no conditions matched)
	// contains filtered or unexported fields
}

CloudProvider - Encapsulates a cloud provider

func NewCloudProvider

func NewCloudProvider(c *restapi.RestClient) *CloudProvider

NewCloudProvider is a CloudProvider constructor

func (*CloudProvider) AddToSetsByID

func (o *CloudProvider) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*CloudProvider) AddToSetsByName

func (o *CloudProvider) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*CloudProvider) Create

func (o *CloudProvider) Create() (*restapi.StringResponse, error)

Create function creates a new CloudProvider and returns a map that contains creation result

func (*CloudProvider) Delete

func (o *CloudProvider) Delete() (*restapi.StringResponse, error)

Delete function deletes a CloudProvider and returns a string result that contains deletion result

func (*CloudProvider) DeleteByName

func (o *CloudProvider) DeleteByName() (*restapi.StringResponse, error)

DeleteByName deletes a CloudProvider by name

func (*CloudProvider) FillStruct

func (o *CloudProvider) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*CloudProvider) GetByName

func (o *CloudProvider) GetByName() error

GetByName retrieves CloudProvider from tenant by name

func (*CloudProvider) GetIDByName

func (o *CloudProvider) GetIDByName() (string, error)

GetIDByName returns CloudProvider ID by name

func (*CloudProvider) Query

func (o *CloudProvider) Query() (map[string]interface{}, error)

Query function returns a single CloudProvider object in map format

func (*CloudProvider) Read

func (o *CloudProvider) Read() error

Read function fetches a CloudProvider from source, including attribute values. Returns error if any

func (*CloudProvider) SetPermissions

func (o *CloudProvider) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*CloudProvider) Update

func (o *CloudProvider) Update() (*restapi.StringResponse, error)

Update function updates a existing CloudProvider and returns a map that contains update result

type Connector

type Connector struct {
	// contains filtered or unexported fields
}

Connector - Encapsulates a single Connector

func NewConnector

func NewConnector(c *restapi.RestClient) *Connector

NewConnector is a Connector constructor

func (*Connector) AddToSetsByID

func (o *Connector) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*Connector) AddToSetsByName

func (o *Connector) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*Connector) Delete

func (o *Connector) Delete() (*restapi.GenericMapResponse, error)

Delete function deletes a Connector and returns a map that contains deletion result

func (*Connector) FillStruct

func (o *Connector) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*Connector) Query

func (o *Connector) Query() (map[string]interface{}, error)

Query function returns a single Connector object in map format

func (*Connector) Read

func (o *Connector) Read() error

Read function fetches a ManaulSet from source, including attribute values. Returns error if any

func (*Connector) SetPermissions

func (o *Connector) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*Connector) Update

func (o *Connector) Update() (*restapi.GenericMapResponse, error)

Update function updates an existing Connector and returns a map that contains update result

type Database

type Database struct {
	FQDN                 string `json:"FQDN,omitempty" schema:"hostname,omitempty"`
	DatabaseClass        string `json:"DatabaseClass,omitempty" schema:"database_class,omitempty"` // Valid values are: SQLServer, Oracle, SAPAse
	Port                 int    `json:"Port,omitempty" schema:"port,omitempty"`
	InstanceName         string `json:"InstanceName,omitempty" schema:"instance_name,omitempty"` // MS SQL instance name
	ServiceName          string `json:"ServiceName,omitempty" schema:"service_name,omitempty"`   // Oracle database service name
	SkipReachabilityTest bool   `json:"SkipReachabilityTest,omitempty" schema:"skip_reachability_test,omitempty"`

	// Database -> Policy menu related settings
	DefaultCheckoutTime int `json:"DefaultCheckoutTime,omitempty" schema:"checkout_lifetime,omitempty"` // Checkout lifetime (minutes)

	// Database -> Advanced menu related settings
	AllowMultipleCheckouts            bool   `json:"AllowMultipleCheckouts,omitempty" schema:"allow_multiple_checkouts,omitempty"`                          // Allow multiple password checkouts for related accounts
	AllowPasswordRotation             bool   `json:"AllowPasswordRotation,omitempty" schema:"enable_password_rotation,omitempty"`                           // Enable periodic password rotation
	PasswordRotateDuration            int    `json:"PasswordRotateDuration,omitempty" schema:"password_rotate_interval,omitempty"`                          // Password rotation interval (days)
	AllowPasswordRotationAfterCheckin bool   `json:"AllowPasswordRotationAfterCheckin,omitempty" schema:"enable_password_rotation_after_checkin,omitempty"` // Enable password rotation after checkin
	MinimumPasswordAge                int    `json:"MinimumPasswordAge,omitempty" schema:"minimum_password_age,omitempty"`                                  // Minimum Password Age (days)
	PasswordProfileID                 string `json:"PasswordProfileID,omitempty" schema:"password_profile_id,omitempty"`                                    // Password Complexity Profile
	AllowPasswordHistoryCleanUp       bool   `json:"AllowPasswordHistoryCleanUp,omitempty" schema:"enable_password_history_cleanup,omitempty"`              // Enable periodic password history cleanup
	PasswordHistoryCleanUpDuration    int    `json:"PasswordHistoryCleanUpDuration,omitempty" schema:"password_historycleanup_duration,omitempty"`          // Password history cleanup (days)

	// Database -> Connectors menu related settings
	ProxyCollectionList string `json:"ProxyCollectionList,omitempty" schema:"connector_list,omitempty"` // List of Connectors used
	// contains filtered or unexported fields
}

Database - Encapsulates a single Database

func NewDatabase

func NewDatabase(c *restapi.RestClient) *Database

NewDatabase is a Database constructor

func (*Database) AddToSetsByID

func (o *Database) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*Database) AddToSetsByName

func (o *Database) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*Database) Create

func (o *Database) Create() (*restapi.StringResponse, error)

Create function creates a new Database and returns a map that contains creation result

func (*Database) Delete

func (o *Database) Delete() (*restapi.BoolResponse, error)

Delete function deletes a Database and returns a map that contains deletion result

func (*Database) DeleteByName

func (o *Database) DeleteByName() (*restapi.BoolResponse, error)

DeleteByName deletes a database by name

func (*Database) FillStruct

func (o *Database) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*Database) GetByName

func (o *Database) GetByName() error

GetByName retrieves database from tenant by name

func (*Database) GetIDByName

func (o *Database) GetIDByName() (string, error)

GetIDByName returns database ID by name

func (*Database) Query

func (o *Database) Query() (map[string]interface{}, error)

Query function returns a single database object in map format

func (*Database) Read

func (o *Database) Read() error

Read function fetches a Database from source, including attribute values. Returns error if any

func (*Database) SetPermissions

func (o *Database) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*Database) Update

func (o *Database) Update() (*restapi.GenericMapResponse, error)

Update function updates an existing Database and returns a map that contains update result

type DesktopApp

type DesktopApp struct {
	TemplateName             string            `json:"TemplateName,omitempty" schema:"template_name,omitempty"`
	DesktopAppRunHostID      string            `json:"DesktopAppRunHostId,omitempty" schema:"application_host_id,omitempty"`         // Application host
	DesktopAppRunHostName    string            `json:"-"`                                                                            // Used for directly SDK call
	DesktopAppRunAccountType string            `json:"DesktopAppRunAccountType,omitempty" schema:"login_credential_type,omitempty"`  // Host login credential type: ADCredential, SetByUser, AlternativeAccount, SharedAccount
	DesktopAppRunAccountID   string            `json:"DesktopAppRunAccountUuid,omitempty" schema:"application_account_id,omitempty"` // Host login credential account
	DesktopAppRunAccountName string            `json:"-"`                                                                            // Used for directly SDK call
	DesktopAppProgramName    string            `json:"DesktopAppProgramName,omitempty" schema:"application_alias,omitempty"`         // Application alias
	DesktopAppCmdline        string            `json:"DesktopAppCmdlineTemplate,omitempty" schema:"command_line,omitempty"`          // Command line
	DesktopAppParams         []DesktopAppParam `json:"DesktopAppParams,omitempty" schema:"command_parameter,omitempty"`
	DefaultAuthProfile       string            `json:"DefaultAuthProfile" schema:"default_profile_id"`
	ChallengeRules           *ChallengeRules   `json:"AuthRules,omitempty" schema:"challenge_rule,omitempty"`
	PolicyScript             string            `json:"PolicyScript,omitempty" schema:"policy_script,omitempty"` // Use script to specify authentication rules (configured rules are ignored)
	WorkflowEnabled          bool              `json:"WorkflowEnabled,omitempty" schema:"workflow_enabled,omitempty"`
	// contains filtered or unexported fields
}

DesktopApp - Encapsulates a single Generic DesktopApp

func NewDesktopApp

func NewDesktopApp(c *restapi.RestClient) *DesktopApp

NewDesktopApp is a esktopApp constructor

func (*DesktopApp) AddToSetsByID

func (o *DesktopApp) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*DesktopApp) AddToSetsByName

func (o *DesktopApp) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*DesktopApp) Create

func (o *DesktopApp) Create() (*restapi.SliceResponse, error)

Create function creates a new DesktopApp and returns a map that contains creation result

func (*DesktopApp) Delete

func (o *DesktopApp) Delete() (*restapi.SliceResponse, error)

Delete function deletes a DesktopApp and returns a map that contains deletion result

func (*DesktopApp) DeleteByName

func (o *DesktopApp) DeleteByName() (*restapi.SliceResponse, error)

DeleteByName deletes a DesktopApp by name

func (*DesktopApp) FillStruct

func (o *DesktopApp) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*DesktopApp) GetByName

func (o *DesktopApp) GetByName() error

GetByName retrieves vault object from tenant by name

func (*DesktopApp) GetIDByName

func (o *DesktopApp) GetIDByName() (string, error)

GetIDByName returns vault object ID by name

func (*DesktopApp) Query

func (o *DesktopApp) Query() (map[string]interface{}, error)

Query function returns a single DesktopApp object in map format

func (*DesktopApp) Read

func (o *DesktopApp) Read() error

Read function fetches a DesktopApp from source, including attribute values. Returns error if any

func (*DesktopApp) SetPermissions

func (o *DesktopApp) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*DesktopApp) Update

func (o *DesktopApp) Update() (*restapi.GenericMapResponse, error)

Update function updates an existing DesktopApp and returns a map that contains update result

type DesktopAppParam

type DesktopAppParam struct {
	ParamName          string `json:"ParamName,omitempty" schema:"name,omitempty"`
	ParamType          string `json:"ParamType,omitempty" schema:"type,omitempty"` // int, date, string, User, Role, Device, Server, VaultAccount, VaultDomain, VaultDatabase, Subscriptions, DataVault, SshKeys
	ParamValue         string `json:"ParamValue,omitempty" schema:"value,omitempty"`
	TargetObjectID     string `json:"TargetObjectId,omitempty" schema:"target_object_id,omitempty"`
	TargetObjectName   string `json:"-"`
	TargetResourceName string `json:"-"`
	TargetResourceType string `json:"-"`
}

DesktopAppParam - desktop app command line parameters

type DirectoryObject

type DirectoryObject struct {
	ID                string `json:"InternalName,omitempty" schema:"id,omitempty"`
	Name              string `json:"Name,omitempty" schema:"name,omitempty"`
	SystemName        string `json:"SystemName,omitempty" schema:"system_name,omitempty"`
	DisplayName       string `json:"DisplayName,omitempty" schema:"display_name,omitempty"`
	DistinguishedName string `json:"DistinguishedName,omitempty" schema:"distinguished_name,omitempty"`
	ObjectType        string `json:"ObjectType,omitempty" schema:"object_type,omitempty"`
	Forest            string `json:"Forest,omitempty" schema:"forest,omitempty"`
}

DirectoryObject -

type DirectoryObjects

type DirectoryObjects struct {
	ObjectType        string // Either user or group
	QueryName         string
	DirectoryServices []string          `json:"DirectoryServices,omitempty" schema:"directory_services,omitempty"`
	DirectoryObjects  []DirectoryObject `json:"DirectoryObjects,omitempty" schema:"directory_object,omitempty"`
	// contains filtered or unexported fields
}

DirectoryObjects -

func NewDirectoryObjects

func NewDirectoryObjects(c *restapi.RestClient) *DirectoryObjects

NewDirectoryObjects is a DirectoryObjects constructor

func (*DirectoryObjects) Read

func (o *DirectoryObjects) Read() error

Read function fetches directory objects from source

type DirectoryService

type DirectoryService struct {
	ID               string `json:"directoryServiceUuid,omitempty" schema:"id,omitempty"`
	Name             string `json:"Name,omitempty" schema:"name,omitempty"`
	Description      string `json:"Description,omitempty" schema:"description,omitempty"`
	DisplayName      string `json:"DisplayName,omitempty" schema:"displayName,omitempty"`
	DisplayNameShort string `json:"DisplayNameShort,omitempty" schema:"short_name,omitempty"`
	Service          string `json:"Service,omitempty" schema:"service,omitempty"`
	Status           string `json:"Status,omitempty" schema:"status,omitempty"`
	Config           string `json:"Config,omitempty" schema:"config,omitempty"`
	Forest           string `json:"Forest,omitempty" schema:"forest,omitempty"`
}

DirectoryService represents directory service

type DirectoryServices

type DirectoryServices struct {
	DirServices []DirectoryService `json:"DirServices,omitempty" schema:"directory_service,omitempty"`
	// contains filtered or unexported fields
}

DirectoryServices - Encapsulates Directory Services

func NewDirectoryServices

func NewDirectoryServices(c *restapi.RestClient) *DirectoryServices

NewDirectoryServices is a DirectoryServices constructor

func (*DirectoryServices) GetDirectorServices

func (o *DirectoryServices) GetDirectorServices() ([]map[string]interface{}, error)

GetDirectorServices etches a DirectorServices from source and returns list of map

func (*DirectoryServices) Read

func (o *DirectoryServices) Read() error

Read function fetches a DirectorServices from source

type Domain

type Domain struct {
	VerifyDomain bool `json:"VerifyDomain,omitempty" schema:"verify,omitempty"`
	// Policy menu related settings
	DefaultCheckoutTime int `json:"DefaultCheckoutTime,omitempty" schema:"checkout_lifetime,omitempty"` // Checkout lifetime (minutes)
	// Advanced menu -> Administrative Account Settings
	AdminAccountID           string `json:"Administrator,omitempty" schema:"administrative_account_id,omitempty"`
	AdministratorDisplayName string `json:"AdministratorDisplayName,omitempty" schema:"administrator_display_name,omitempty"`
	//AdminAccountDomain           string `json:"AdminAccountDomain,omitempty" schema:"administrative_account_domain,omitempty"`
	AdminAccountPassword         string `json:"AdminAccountPassword,omitempty" schema:"administrative_account_password,omitempty"`
	AdminAccountName             string `json:"AdminAccountName,omitempty" schema:"administrative_account_name,omitempty"`
	AutoDomainAccountMaintenance bool   `json:"AllowAutomaticAccountMaintenance" schema:"auto_domain_account_maintenance"`     // Enable Automatic Domain Account Maintenance
	AutoLocalAccountMaintenance  bool   `json:"AllowAutomaticLocalAccountMaintenance" schema:"auto_local_account_maintenance"` // Enable Automatic Local Account Maintenance
	ManualDomainAccountUnlock    bool   `json:"AllowManualAccountUnlock" schema:"manual_domain_account_unlock"`                // Enable Manual Domain Account Unlock
	ManualLocalAccountUnlock     bool   `json:"AllowManualLocalAccountUnlock" schema:"manual_local_account_unlock"`            // Enable Manual Local Account Unlock
	ProvisioningAdminID          string `json:"ProvisioningAdminID,omitempty" schema:"provisioning_admin_id,omitempty"`        // An administrative account to provision the reconciliation account on Unix systems. (must be managed)
	ReconciliationAccountName    string `json:"ReconciliationAccountName,omitempty" schema:"reconciliation_account_name,omitempty"`
	// Advanced -> Security Settings
	AllowMultipleCheckouts            bool   `json:"AllowMultipleCheckouts,omitempty" schema:"allow_multiple_checkouts,omitempty"`                          // Allow multiple password checkouts per AD account added for this domain
	AllowPasswordRotation             bool   `json:"AllowPasswordRotation,omitempty" schema:"enable_password_rotation,omitempty"`                           // Enable periodic password rotation
	PasswordRotateDuration            int    `json:"PasswordRotateDuration,omitempty" schema:"password_rotate_interval,omitempty"`                          // Password rotation interval (days)
	AllowPasswordRotationAfterCheckin bool   `json:"AllowPasswordRotationAfterCheckin,omitempty" schema:"enable_password_rotation_after_checkin,omitempty"` // Enable password rotation after checkin
	MinimumPasswordAge                int    `json:"MinimumPasswordAge,omitempty" schema:"minimum_password_age,omitempty"`                                  // Minimum Password Age (days)
	PasswordProfileID                 string `json:"PasswordProfileID,omitempty" schema:"password_profile_id,omitempty"`                                    // Password Complexity Profile
	// Advanced -> Maintenance Settings
	AllowPasswordHistoryCleanUp    bool `json:"AllowPasswordHistoryCleanUp,omitempty" schema:"enable_password_history_cleanup,omitempty"`     // Enable periodic password history cleanup
	PasswordHistoryCleanUpDuration int  `json:"PasswordHistoryCleanUpDuration,omitempty" schema:"password_historycleanup_duration,omitempty"` // Password history cleanup (days)
	// Advanced -> Domain/Zone Tasks
	AllowRefreshZoneJoined           bool `json:"AllowRefreshZoneJoined,omitempty" schema:"enable_zone_joined_check,omitempty"`             // Enable periodic domain/zone joined check
	RefreshZoneJoinedIntervalMinutes int  `json:"RefreshZoneJoinedIntervalMinutes,omitempty" schema:"zone_joined_check_interval,omitempty"` // Domain/zone joined check interval (minutes)
	AllowZoneRoleCleanup             bool `json:"AllowZoneRoleCleanup,omitempty" schema:"enable_zone_role_cleanup,omitempty"`               // Enable periodic removal of expired zone role assignments
	ZoneRoleCleanupIntervalHours     int  `json:"ZoneRoleCleanupIntervalHours,omitempty" schema:"zone_role_cleanup_interval,omitempty"`     // Expired zone role assignment removal interval (hours)
	// Zone Role Workflow
	ZoneRoleWorkflowEnabled       bool   `json:"ZoneRoleWorkflowEnabled,omitempty" schema:"zone_role_workflow_enabled,omitempty"` // Enable zone role requests for systems in this domain
	ZoneRoleWorkflowRoles         string `json:"ZoneRoleWorkflowRoles,omitempty" schema:"zone_role_workflow_roles,omitempty"`     // Assignable zone roles
	ZoneRoleWorkflowApprovers     string `json:"ZoneRoleWorkflowApprovers,omitempty" schema:"zone_role_workflow_approvers,omitempty"`
	ZoneRoleWorkflowApproversList string `json:"ZoneRoleWorkflowApproversList,omitempty" schema:"zone_role_workflow_approvers_list,omitempty"`
	// System -> Connectors menu related settings
	ProxyCollectionList string `json:"ProxyCollectionList,omitempty" schema:"connector_list,omitempty"` // List of Connectors used
	// contains filtered or unexported fields
}

Domain - Encapsulates a single Domain

func NewDomain

func NewDomain(c *restapi.RestClient) *Domain

NewDomain is a Domain constructor

func (*Domain) AddToSetsByID

func (o *Domain) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*Domain) AddToSetsByName

func (o *Domain) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*Domain) Create

func (o *Domain) Create() (*restapi.StringResponse, error)

Create function creates a new Domain and returns a map that contains creation result

func (*Domain) Delete

func (o *Domain) Delete() (*restapi.BoolResponse, error)

Delete function deletes a Domain and returns a map that contains deletion result

func (*Domain) DeleteByName

func (o *Domain) DeleteByName() (*restapi.BoolResponse, error)

DeleteByName deletes a domain by name

func (*Domain) FillStruct

func (o *Domain) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*Domain) GetByName

func (o *Domain) GetByName() error

GetByName retrieves domain from tenant by name

func (*Domain) GetIDByName

func (o *Domain) GetIDByName() (string, error)

GetIDByName returns domain ID by name

func (*Domain) Query

func (o *Domain) Query() (map[string]interface{}, error)

Query function returns a single Set object in map format

func (*Domain) Read

func (o *Domain) Read() error

Read function fetches a Domain from source, including attribute values. Returns error if any

func (*Domain) SetAdminAccount

func (o *Domain) SetAdminAccount() error

SetAdminAccount sets domain administrative account

func (*Domain) SetPermissions

func (o *Domain) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*Domain) Update

func (o *Domain) Update() (*restapi.GenericMapResponse, error)

Update function updates an existing Domain and returns a map that contains update result

type GroupMapping

type GroupMapping struct {
	AttributeValue string `json:"AttributeValue,omitempty" schema:"attribute_value,omitempty"`
	GroupName      string `json:"GroupName,omitempty" schema:"group_name,omitempty"`
}

GroupMapping represents individual group mapping

type GroupMappings

type GroupMappings struct {
	Mappings []GroupMapping `json:"Mappings,omitempty" schema:"mappings,omitempty"`
	// contains filtered or unexported fields
}

GroupMappings - Encapsulates Glboal Group Mappings

func NewGroupMappings

func NewGroupMappings(c *restapi.RestClient) *GroupMappings

NewGroupMappings is a GroupMappings constructor

func (*GroupMappings) Create

func (o *GroupMappings) Create() error

Create adds list of group mappings

func (*GroupMappings) Delete

func (o *GroupMappings) Delete() error

Delete deletes list of group mappings

func (*GroupMappings) Read

func (o *GroupMappings) Read() error

Read function fetches Global Group mappings from tenant

type ManualSet

type ManualSet struct {
	ValidMemberPermissions map[string]string

	ObjectType        string `json:"ObjectType,omitempty" schema:"type,omitempty"`
	SubObjectType     string `json:"SubObjectType,omitempty" schema:"subtype,omitempty"`
	CollectionType    string `json:"CollectionType,omitempty" schema:"collection_type,omitempty"`
	MemberPermissions []Permission
	// contains filtered or unexported fields
}

ManualSet - Encapsulates a single Generic ManualSet

func NewManualSet

func NewManualSet(c *restapi.RestClient) *ManualSet

NewManualSet is a ManualSet constructor

func NewManualSetWithType

func NewManualSetWithType(c *restapi.RestClient, setType string) (*ManualSet, error)

NewManualSetWithType is another ManualSet constructor that initialise memberpermissions api endpiont

func (*ManualSet) AddToSetsByID

func (o *ManualSet) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*ManualSet) AddToSetsByName

func (o *ManualSet) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*ManualSet) Create

func (o *ManualSet) Create() (*restapi.StringResponse, error)

Create function creates a new Manual Set and returns a map that contains creation result

func (*ManualSet) Delete

func (o *ManualSet) Delete() (*restapi.GenericMapResponse, error)

Delete function deletes a Manual Set and returns a map that contains deletion result

func (*ManualSet) DeleteByName

func (o *ManualSet) DeleteByName() (*restapi.GenericMapResponse, error)

DeleteByName deletes a Set by name

func (*ManualSet) FillStruct

func (o *ManualSet) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*ManualSet) GetByName

func (o *ManualSet) GetByName() error

GetByName retrieves set from tenant by name

func (*ManualSet) GetIDByName

func (o *ManualSet) GetIDByName() (string, error)

GetIDByName returns set ID by name

func (*ManualSet) Query

func (o *ManualSet) Query() (map[string]interface{}, error)

Query function returns a single Set object in map format

func (*ManualSet) Read

func (o *ManualSet) Read() error

Read function fetches a ManualSet from source, including attribute values. Returns error if any

func (*ManualSet) ResolveValidMemberPerms

func (o *ManualSet) ResolveValidMemberPerms() error

ResolveValidMemberPerms returns member permission list and set member permission API endpoint according to type of resource

func (*ManualSet) SetMemberPermissions

func (o *ManualSet) SetMemberPermissions(isRemove bool) (*restapi.GenericMapResponse, error)

SetMemberPermissions sets member permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*ManualSet) SetPermissions

func (o *ManualSet) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*ManualSet) Update

func (o *ManualSet) Update() (*restapi.GenericMapResponse, error)

Update function updates an existing Manual Set and returns a map that contains update result

func (*ManualSet) UpdateSetMembers

func (o *ManualSet) UpdateSetMembers(ids []string, action string) (*restapi.StringResponse, error)

UpdateSetMembers adds or removes members from the ManualSet

func (*ManualSet) ValidateMemberPermissions

func (o *ManualSet) ValidateMemberPermissions(perms []string) ([]string, error)

ValidateMemberPermissions returns validated list of rights

type MultiplexedAccount

type MultiplexedAccount struct {
	RealAccount1ID  string   `json:"RealAccount1ID,omitempty" schema:"account1_id,omitempty"`
	RealAccount2ID  string   `json:"RealAccount2ID,omitempty" schema:"account2_id,omitempty"`
	RealAccount1    string   `json:"RealAccount1,omitempty" schema:"account1,omitempty"`
	RealAccount2    string   `json:"RealAccount2,omitempty" schema:"account2,omitempty"`
	ActiveAccount   string   `json:"ActiveAccount,omitempty" schema:"active_account,omitempty"`
	RealAccounts    []string `json:"RealAccounts,omitempty" schema:"accounts,omitempty"`
	RealAccount1UPN string   `json:"-"`
	RealAccount2UPN string   `json:"-"`
	// contains filtered or unexported fields
}

MultiplexedAccount - Encapsulates a single MultiplexedAccount

func NewMultiplexedAccount

func NewMultiplexedAccount(c *restapi.RestClient) *MultiplexedAccount

NewMultiplexedAccount is a MultiplexedAccount constructor

func (*MultiplexedAccount) AddToSetsByID

func (o *MultiplexedAccount) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*MultiplexedAccount) AddToSetsByName

func (o *MultiplexedAccount) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*MultiplexedAccount) Create

Create function creates a new MultiplexedAccount

func (*MultiplexedAccount) Delete

Delete function deletes a MultiplexedAccount

func (*MultiplexedAccount) DeleteByName

func (o *MultiplexedAccount) DeleteByName() (*restapi.GenericMapResponse, error)

DeleteByName deletes a MultiplexedAccount by name

func (*MultiplexedAccount) FillStruct

func (o *MultiplexedAccount) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*MultiplexedAccount) GetByName

func (o *MultiplexedAccount) GetByName() error

GetByName retrieves MultiplexedAccount from tenant by name

func (*MultiplexedAccount) GetIDByName

func (o *MultiplexedAccount) GetIDByName() (string, error)

GetIDByName returns MultiplexedAccount ID by name

func (*MultiplexedAccount) Query

func (o *MultiplexedAccount) Query() (map[string]interface{}, error)

Query function returns a single MultiplexedAccount object in map format

func (*MultiplexedAccount) Read

func (o *MultiplexedAccount) Read() error

Read function fetches a MultiplexedAccount from source, including attribute values. Returns error if any

func (*MultiplexedAccount) SetPermissions

func (o *MultiplexedAccount) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*MultiplexedAccount) Update

Update function updates an existing MultiplexedAccount

type PasswordProfile

type PasswordProfile struct {
	ProfileFeature string `json:"ProfileFeature,omitempty" schema:"profile_feature,omitempty"`
	ProfileType    string `json:"ProfileType,omitempty" schema:"profile_type,omitempty"` // UserDefined, CheckPointGaia
	// password requirements
	MinimumPasswordLength              int    `json:"MinimumPasswordLength" schema:"minimum_password_length"`
	MaximumPasswordLength              int    `json:"MaximumPasswordLength" schema:"maximum_password_length"`
	AtLeastOneLowercase                bool   `json:"AtLeastOneLowercase" schema:"at_least_one_lowercase"`                                                    // At least one lower-case alpha character
	AtLeastOneUppercase                bool   `json:"AtLeastOneUppercase" schema:"at_least_one_uppercase"`                                                    // At least one upper-case alpha character
	AtLeastOneDigit                    bool   `json:"AtLeastOneDigit" schema:"at_least_one_digit"`                                                            // At least one digit
	ConsecutiveCharRepeatAllowed       bool   `json:"ConsecutiveCharRepeatAllowed,omitempty" schema:"no_consecutive_repeated_char,omitempty"`                 // No consecutive repeated characters
	AtLeastOneSpecial                  bool   `json:"AtLeastOneSpecial" schema:"at_least_one_special_char"`                                                   // At least one special character
	MaximumCharOccurrenceCount         int    `json:"MaximumCharOccurrenceCount,omitempty" schema:"maximum_char_occurrence_count,omitempty"`                  // Restrict number of character occurrences
	SpecialCharSet                     string `json:"SpecialCharSet,omitempty" schema:"special_charset,omitempty"`                                            // Special Characters
	FirstCharacterType                 string `json:"FirstCharacterType,omitempty" schema:"first_character_type,omitempty"`                                   // AlphaOnly or AlphaNumericOnly
	LastCharacterType                  string `json:"LastCharacterType,omitempty" schema:"last_character_type,omitempty"`                                     // AlphaOnly or AlphaNumericOnly
	MinimumAlphabeticCharacterCount    int    `json:"MinimumAlphabeticCharacterCount,omitempty" schema:"minimum_alphabetic_character_count,omitempty"`        // Min number of alpha characters
	MinimumNonAlphabeticCharacterCount int    `json:"MinimumNonAlphabeticCharacterCount,omitempty" schema:"minimum_non_alphabetic_character_count,omitempty"` // Min number of non-alpha characters
	// contains filtered or unexported fields
}

PasswordProfile - Encapsulates a single Password Profile

func NewPasswordProfile

func NewPasswordProfile(c *restapi.RestClient) *PasswordProfile

NewPasswordProfile is a PasswordProfile constructor

func (*PasswordProfile) AddToSetsByID

func (o *PasswordProfile) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*PasswordProfile) AddToSetsByName

func (o *PasswordProfile) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*PasswordProfile) Create

func (o *PasswordProfile) Create() (*restapi.StringResponse, error)

Create function creates an password profile and returns a map that contains update result

func (*PasswordProfile) Delete

func (o *PasswordProfile) Delete() (*restapi.BoolResponse, error)

Delete function deletes an password profile and returns a map that contains deletion result

func (*PasswordProfile) DeleteByName

func (o *PasswordProfile) DeleteByName() (*restapi.BoolResponse, error)

DeleteByName deletes a password profile by name

func (*PasswordProfile) FillStruct

func (o *PasswordProfile) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*PasswordProfile) GetByName

func (o *PasswordProfile) GetByName() error

GetByName retrieves password profile from tenant by name

func (*PasswordProfile) GetIDByName

func (o *PasswordProfile) GetIDByName() (string, error)

GetIDByName returns password profile ID by name

func (*PasswordProfile) Query

func (o *PasswordProfile) Query() (map[string]interface{}, error)

Query function returns a single password profile object

func (*PasswordProfile) Read

func (o *PasswordProfile) Read() error

Read function fetches an password profile from source, including attribute values. Returns error if any

func (*PasswordProfile) SetPermissions

func (o *PasswordProfile) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*PasswordProfile) Update

Update function updates an existing password profile and returns a map that contains update result

type Permission

type Permission struct {
	PrincipalID   string   `json:"PrincipalId,omitempty" schema:"principal_id,omitempty"` // Uuid of the principal
	PrincipalName string   `json:"Principal,omitempty" schema:"principal_name,omitempty"` // User name or role name
	PrincipalType string   `json:"PType,omitempty" schema:"principal_type,omitempty"`     // Principal type: User, Role etc..
	Rights        string   `json:"Rights,omitempty" schema:"rights,omitempty"`            // Permissions: Grant,View,Edit,Delete or None to remove this item
	RightList     []string `json:"-"`
}

Permission represents object permission

type Policy

type Policy struct {
	Plink    *PolicyLink     `json:"Plink,omitempty" schema:"plink,omitempty"`
	Path     string          `json:"Path,omitempty" schema:"path,omitempty"`
	Position int             `json:"-,omitempty" schema:"position,omitempty"`
	Settings *PolicySettings `json:"Settings,omitempty" schema:"settings,omitempty"`
	// contains filtered or unexported fields
}

Policy - Encapsulates a single policy

func NewPolicy

func NewPolicy(c *restapi.RestClient) *Policy

NewPolicy is a policy constructor

func (*Policy) AddToSetsByID

func (o *Policy) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*Policy) AddToSetsByName

func (o *Policy) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*Policy) Create

func (o *Policy) Create() (*restapi.GenericMapResponse, error)

Create function creates a Policy and returns a map that contains update result

func (*Policy) Delete

func (o *Policy) Delete() (*restapi.GenericMapResponse, error)

Delete function deletes a Policy and returns a map that contains deletion result

func (*Policy) FillStruct

func (o *Policy) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*Policy) Query

func (o *Policy) Query(key string) (map[string]interface{}, error)

Query function returns a single Policy object in map format

func (*Policy) Read

func (o *Policy) Read() error

Read function fetches a Policy from source, including attribute values. Returns error if any

func (*Policy) SetPermissions

func (o *Policy) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*Policy) Update

func (o *Policy) Update() (*restapi.GenericMapResponse, error)

Update function updates an existing Policy and returns a map that contains update result

func (*Policy) ValidateSettings

func (o *Policy) ValidateSettings() error

type PolicyADAdminPass

type PolicyADAdminPass struct {
	Type  string `json:"_Type,omitempty" schema:"type,omitempty"`
	Value string `json:"_Value,omitempty" schema:"value,omitempty"`
}

type PolicyAccountSet

type PolicyAccountSet struct {
	// Account Security
	DefaultCheckoutTime            int             `json:"/PAS/VaultAccount/DefaultCheckoutTime,omitempty" schema:"checkout_lifetime,omitempty"`   // Checkout lifetime (minutes)
	PasswordCheckoutDefaultProfile string          `json:"/PAS/VaultAccount/PasswordCheckoutDefaultProfile" schema:"default_profile_id,omitempty"` // Default Password Checkout Profile (used if no conditions matched)
	ChallengeRules                 *ChallengeRules `json:"/PAS/VaultAccount/PasswordCheckoutRules,omitempty" schema:"challenge_rule,omitempty"`
}

type PolicyCentrifyCSSElevation

type PolicyCentrifyCSSElevation struct {
	AuthenticationEnabled bool            `json:"/Core/Css/PrivilegeElevationEnabled,omitempty" schema:"authentication_enabled,omitempty"`            // Enable authentication policy controls
	DefaultProfileID      string          `json:"/Core/Css/Dzdo/AuthenticationRulesDefaultProfileId,omitempty" schema:"default_profile_id,omitempty"` // Default Profile (used if no conditions matched)
	ChallengeRules        *ChallengeRules `json:"/Core/Css/Dzdo/AuthenticationRules,omitempty" schema:"challenge_rule,omitempty"`
}

type PolicyCentrifyCSSServer

type PolicyCentrifyCSSServer struct {
	AuthenticationEnabled bool            `json:"/Core/Css/AuthenticationEnabled,omitempty" schema:"authentication_enabled,omitempty"`                    // Enable authentication policy controls
	DefaultProfileID      string          `json:"/Core/Css/MfaLogin/AuthenticationRulesDefaultProfileId,omitempty" schema:"default_profile_id,omitempty"` // Default Profile (used if no conditions matched)
	ChallengeRules        *ChallengeRules `json:"/Core/Css/MfaLogin/AuthenticationRules,omitempty" schema:"challenge_rule,omitempty"`
	PassThroughMode       int             `json:"/Core/Css/MfaLogin/CssPinningMode,omitempty" schema:"pass_through_mode,omitempty"` // Apply pass-through duration
}

type PolicyCentrifyCSSWorkstation

type PolicyCentrifyCSSWorkstation struct {
	AuthenticationEnabled bool            `json:"/Core/Css/WindowsEndpointAuthenticationEnabled,omitempty" schema:"authentication_enabled,omitempty"`      // Enable authentication policy controls
	DefaultProfileID      string          `json:"/Core/Css/WinClient/AuthenticationRulesDefaultProfileId,omitempty" schema:"default_profile_id,omitempty"` // Default Profile (used if no conditions matched)
	ChallengeRules        *ChallengeRules `json:"/Core/Css/WinClient/AuthenticationRules,omitempty" schema:"challenge_rule,omitempty"`
}

type PolicyCentrifyClient

type PolicyCentrifyClient struct {
	AuthenticationEnabled bool   `json:"/Core/__centrify_cagent/AuthenticationEnabled,omitempty" schema:"authentication_enabled,omitempty"` // Enable authentication policy controls
	DefaultProfileID      string ``                                                                                                         // Default Profile (used if no conditions matched)
	/* 129-byte string literal not displayed */
	ChallengeRules *ChallengeRules `json:"/Core/__centrify_cagent/Authentication/AuthenticationRules,omitempty" schema:"challenge_rule,omitempty"`
	NoMfaMechLogin bool            `json:"/Core/__centrify_cagent/Authentication/NoMfaMechLogin,omitempty" schema:"allow_no_mfa_mech,omitempty"` // Allow users without a valid authentication factor to log in
}

type PolicyCentrifyServices

type PolicyCentrifyServices struct {
	// Session Parameters
	AuthenticationEnabled  bool            `json:"AuthenticationEnabled,omitempty" schema:"authentication_enabled,omitempty"`                                // Enable authentication policy controls
	DefaultProfileID       string          `json:"/Core/Authentication/AuthenticationRulesDefaultProfileId,omitempty" schema:"default_profile_id,omitempty"` // Default Profile (used if no conditions matched)
	ChallengeRules         *ChallengeRules `json:"/Core/Authentication/AuthenticationRules,omitempty" schema:"challenge_rule,omitempty"`
	SessionLifespan        int             `json:"/Core/Authentication/CookieSessionLifespanHours,omitempty" schema:"session_lifespan,omitempty"`         // Hours until session expires (default 12)
	AllowSessionPersist    bool            `json:"/Core/Authentication/CookieAllowPersist" schema:"allow_session_persist"`                                // Allow 'Keep me signed in' checkbox option at login (session spans browser sessions)
	DefaultSessionPersist  bool            `json:"/Core/Authentication/CookiePersistDefault,omitempty" schema:"default_session_persist,omitempty"`        // Default 'Keep me signed in' checkbox option to enabled
	PersistSessionLifespan int             `json:"/Core/Authentication/CookiePersistLifespanHours,omitempty" schema:"persist_session_lifespan,omitempty"` // Hours until session expires when 'Keep me signed in' option enabled (default 2 weeks)
	// Other Settings
	AllowIwa                   bool `json:"/Core/Authentication/AllowIwa" schema:"allow_iwa"`                                                             // Allow IWA connections (bypasses authentication rules and default profile)
	IwaSetKnownEndpoint        bool `json:"/Core/Authentication/IwaSetKnownEndpoint,omitempty" schema:"iwa_set_cookie,omitempty"`                         // Set identity cookie for IWA connections
	IwaSatisfiesAll            bool `json:"/Core/Authentication/IwaSatisfiesAllMechs,omitempty" schema:"iwa_satisfies_all,omitempty"`                     // IWA connections satisfy all MFA mechanisms
	UseCertAuth                bool `json:"/Core/Authentication/AllowZso" schema:"use_certauth"`                                                          // Use certificates for authentication
	CertAuthSkipChallenge      bool `json:"/Core/Authentication/ZsoSkipChallenge,omitempty" schema:"certauth_skip_challenge,omitempty"`                   // Certificate authentication bypasses authentication rules and default profile
	CertAuthSetKnownEndpoint   bool `json:"/Core/Authentication/ZsoSetKnownEndpoint,omitempty" schema:"certauth_set_cookie,omitempty"`                    // Set identity cookie for connections using certificate authentication
	CertAuthSatisfiesAll       bool `json:"/Core/Authentication/ZsoSatisfiesAllMechs,omitempty" schema:"certauth_satisfies_all,omitempty"`                // Connections using certificate authentication satisfy all MFA mechanisms
	NoMfaMechLogin             bool `json:"/Core/Authentication/NoMfaMechLogin" schema:"allow_no_mfa_mech"`                                               // Allow users without a valid authentication factor to log in
	FederatedLoginAllowsMfa    bool `json:"/Core/Authentication/FederatedLoginAllowsMfa" schema:"auth_rule_federated"`                                    // Apply additional authentication rules to federated users
	FederatedLoginSatisfiesAll bool `json:"/Core/Authentication/FederatedLoginSatisfiesAllMechs" schema:"federated_satisfies_all"`                        // Connections via Federation satisfy all MFA mechanisms
	BlockMechsOnMobileLogin    bool `json:"/Core/MfaRestrictions/BlockMobileMechsOnMobileLogin,omitempty" schema:"block_auth_from_same_device,omitempty"` // Allow additional authentication from same device
	ContinueFailedSessions     bool `json:"/Core/Authentication/ContinueFailedSessions" schema:"continue_failed_sessions"`                                // Continue with additional challenges after failed challenge
	SkipMechsInFalseAdvance    bool `json:"/Core/Authentication/SkipMechsInFalseAdvance,omitempty" schema:"stop_auth_on_prev_failed,omitempty"`           // Do not send challenge request when previous challenge response failed
	RememberLastAuthFactor     bool `json:"/Core/Authentication/AllowLoginMfaCache" schema:"remember_last_factor"`                                        // Remember and suggest last used authentication factor
}

Authentication -> Centrify Services menu Authentication Policy for Centrify Services

type PolicyCloudProvidersSet

type PolicyCloudProvidersSet struct {
	ChallengeRules                            *ChallengeRules `json:"/PAS/CloudProviders/LoginRules,omitempty" schema:"challenge_rule,omitempty"`
	LoginDefaultProfile                       string          `json:"/PAS/CloudProviders/LoginDefaultProfile,omitempty" schema:"default_profile_id,omitempty"`
	EnableUnmanagedPasswordRotation           bool            `` /* 145-byte string literal not displayed */
	EnableUnmanagedPasswordRotationPrompt     bool            `` /* 142-byte string literal not displayed */
	EnableUnmanagedPasswordRotationReminder   bool            `` /* 151-byte string literal not displayed */
	UnmanagedPasswordRotationReminderDuration int             `` /* 154-byte string literal not displayed */
}

type PolicyDatabaseSet

type PolicyDatabaseSet struct {
	// Account Policy
	DefaultCheckoutTime int `json:"/PAS/VaultDatabase/DefaultCheckoutTime,omitempty" schema:"checkout_lifetime,omitempty"` // Checkout lifetime (minutes)
	// Security Settings
	AllowMultipleCheckouts            bool `json:"/PAS/ConfigurationSetting/VaultDatabase/AllowMultipleCheckouts,omitempty" schema:"allow_multiple_checkouts,omitempty"` // Allow multiple password checkouts for related accounts
	AllowPasswordRotation             bool `json:"/PAS/ConfigurationSetting/VaultDatabase/AllowPasswordRotation,omitempty" schema:"enable_password_rotation,omitempty"`  // Enable periodic password rotation
	PasswordRotateDuration            int  `json:"/PAS/ConfigurationSetting/VaultDatabase/PasswordRotateDuration,omitempty" schema:"password_rotate_interval,omitempty"` // Password rotation interval (days)
	AllowPasswordRotationAfterCheckin bool ``                                                                                                                            // Enable password rotation after checkin
	/* 148-byte string literal not displayed */
	MinimumPasswordAge int `json:"/PAS/ConfigurationSetting/VaultDatabase/MinimumPasswordAge,omitempty" schema:"minimum_password_age,omitempty"` // Minimum Password Age (days)
	// Maintenance Settings
	AllowPasswordHistoryCleanUp bool `` // Enable periodic password history cleanup
	/* 135-byte string literal not displayed */
	PasswordHistoryCleanUpDuration int `` // Password history cleanup (days)
	/* 139-byte string literal not displayed */
}

type PolicyDomainSet

type PolicyDomainSet struct {
	// Account Policy
	DefaultCheckoutTime int `json:"/PAS/VaultDomain/DefaultCheckoutTime,omitempty" schema:"checkout_lifetime,omitempty"` // Checkout lifetime (minutes)
	// Security Settings
	AllowMultipleCheckouts            bool `json:"/PAS/ConfigurationSetting/VaultDomain/AllowMultipleCheckouts,omitempty" schema:"allow_multiple_checkouts,omitempty"` // Allow multiple password checkouts per AD account added for this domain
	AllowPasswordRotation             bool `json:"/PAS/ConfigurationSetting/VaultDomain/AllowPasswordRotation,omitempty" schema:"enable_password_rotation,omitempty"`  // Enable periodic password rotation
	PasswordRotateDuration            int  `json:"/PAS/ConfigurationSetting/VaultDomain/PasswordRotateDuration,omitempty" schema:"password_rotate_interval,omitempty"` // Password rotation interval (days)
	AllowPasswordRotationAfterCheckin bool ``                                                                                                                          // Enable password rotation after checkin
	/* 146-byte string literal not displayed */
	MinimumPasswordAge int `json:"/PAS/ConfigurationSetting/VaultDomain/MinimumPasswordAge,omitempty" schema:"minimum_password_age,omitempty"` // Minimum Password Age (days)
	// Maintenance Settings
	AllowPasswordHistoryCleanUp bool `` // Enable periodic password history cleanup
	/* 133-byte string literal not displayed */
	PasswordHistoryCleanUpDuration int `` // Password history cleanup (days)
	/* 137-byte string literal not displayed */
}
type PolicyLink struct {
	ID              string   `json:"ID,omitempty" schema:"id,omitempty"`
	Description     string   `json:"Description,omitempty" schema:"description,omitempty"`
	EnableCompliant bool     `json:"EnableCompliant,omitempty" schema:"enable_compliant,omitempty"`
	LinkType        string   `json:"LinkType,omitempty" schema:"link_type,omitempty"` // Global, Role, Collection, Inactive
	PolicySet       string   `json:"PolicySet,omitempty" schema:"policy_set,omitempty"`
	Params          []string `json:"Params,omitempty" schema:"policy_assignment,omitempty"` // Policy assignment to role or set
}

PolicyLink - encapsulates policy

type PolicyLinks struct {
	Plinks []PolicyLink `json:"Plinks,omitempty" schema:"policy_order,omitempty"`
	// contains filtered or unexported fields
}

PolicyLinks - Encapsulates policy links

func NewPolicyLinks(c *restapi.RestClient) *PolicyLinks

NewPolicyLinks is a policy link constructor

func (o *PolicyLinks) GetPlinks() ([]map[string]interface{}, string, error)

GetPlinks fetches PolicyLinks from Centrify tenant and return in map format

func (*PolicyLinks) Read

func (o *PolicyLinks) Read() error

Read function fetches a PolicyLinks from source

func (*PolicyLinks) Update

func (o *PolicyLinks) Update() (*restapi.GenericMapResponse, error)

Update function updates an existing PolicyLinks and returns a map that contains update result

type PolicyMobileDevice

type PolicyMobileDevice struct {
	AllowEnrollment           bool `json:"/Mobile/EnrollRules/Common/AllowEnrollment,omitempty" schema:"allow_enrollment,omitempty"`                   // Permit device registration
	AllowJailBrokenDevices    bool `json:"/Mobile/EnrollRules/Common/AllowJailBrokenDevices,omitempty" schema:"permit_non_compliant_device,omitempty"` // Permit non-compliant devices to register
	EnableInviteEnrollment    bool `json:"/Mobile/DeviceManagement/EnableInviteBasedEnrollment,omitempty" schema:"enable_invite_enrollment,omitempty"` // Enable invite based registration
	AllowNotifnMutipleDevices bool ``                                                                                                                  // Allow user notifications on multiple devices
	/* 138-byte string literal not displayed */
	AllowDebugLogging bool `json:"/Mobile/Software/Policies/Centrify/iOSSettings/AllowDebugLogging,omitempty" schema:"enable_debug,omitempty"` // Enable debug logging
	LocationTracking  bool ``                                                                                                                  // Report mobile device location
	/* 130-byte string literal not displayed */
	ForceFingerprint bool `` // Enforce fingerprint scan for Mobile Authenticator
	/* 168-byte string literal not displayed */
	AllowFallbackAppPin bool `` // Allow App PIN
	/* 188-byte string literal not displayed */
	RequestPasscode bool `json:"/Mobile/Software/Policies/Centrify/Application/Passcode/ForceAppPin,omitempty" schema:"require_passcode,omitempty"` // Require client application passcode on device
	AutoLockTimeout int  ``                                                                                                                         // Auto-Lock (minutes)
	/* 130-byte string literal not displayed */
	AppLockOnExit bool `json:"/Mobile/Software/Policies/Centrify/Application/Passcode/AppLockOnExit,omitempty" schema:"lock_app_on_exit,omitempty"` // Lock on exit
}

type PolicyOathOTP

type PolicyOathOTP struct {
	AllowOTP bool `json:"/Core/Security/CDS/ExternalMFA/ShowQRCode,omitempty" schema:"allow_otp,omitempty"` // Allow OATH OTP integration
}

type PolicyPasswordSettings

type PolicyPasswordSettings struct {
	// Password Requirements
	MinLength      int  `json:"/Core/Security/CDS/PasswordPolicy/MinLength,omitempty" schema:"min_length,omitempty"`            // Minimum password length (default 8)
	MaxLength      int  `json:"/Core/Security/CDS/PasswordPolicy/MaxLength,omitempty" schema:"max_length,omitempty"`            // Maximum password length (default 64)
	RequireDigit   bool `json:"/Core/Security/CDS/PasswordPolicy/RequireDigit,omitempty" schema:"require_digit,omitempty"`      // Require at least one digit (default yes)
	RequireMixCase bool `json:"/Core/Security/CDS/PasswordPolicy/RequireMixCase,omitempty" schema:"require_mix_case,omitempty"` // Require at least one upper case and one lower case letter (default yes)
	RequireSymbol  bool `json:"/Core/Security/CDS/PasswordPolicy/RequireSymbol,omitempty" schema:"require_symbol,omitempty"`    // Require at least one symbol (default no)
	// Display Requirements
	ShowPasswordComplexity bool   `json:"/Core/Security/CDS/PasswordPolicy/ShowPasswordComplexity,omitempty" schema:"show_password_complexity,omitempty"` // Show password complexity requirements when entering a new password (default no)
	NonCdsComplexityHint   string `json:"/Core/Security/CDS/PasswordPolicy/NonCdsComplexityHint,omitempty" schema:"complexity_hint,omitempty"`            // Password complexity requirements for directory services other than Centrify Directory
	// Additional Requirements
	AllowRepeatedChar       int  `json:"/Core/Security/CDS/PasswordPolicy/AllowRepeatedChar,omitempty" schema:"no_of_repeated_char_allowed,omitempty"`     // Limit the number of consecutive repeated characters
	CheckWeakPassword       bool `json:"/Core/Security/CDS/PasswordPolicy/CheckWeakPassword,omitempty" schema:"check_weak_password,omitempty"`             // Check against weak password
	AllowIncludeUsername    bool `json:"/Core/Security/CDS/PasswordPolicy/AllowIncludeUsername,omitempty" schema:"allow_include_username,omitempty"`       // Allow username as part of password
	AllowIncludeDisplayname bool `json:"/Core/Security/CDS/PasswordPolicy/AllowIncludeDisplayname,omitempty" schema:"allow_include_displayname,omitempty"` // Allow display name as part of password
	RequireUnicode          bool `json:"/Core/Security/CDS/PasswordPolicy/RequireUnicode,omitempty" schema:"require_unicode,omitempty"`                    // Require at least one Unicode characters
	// Password Age
	MinAgeInDays   int  `json:"/Core/Security/CDS/PasswordPolicy/MinAgeInDays,omitempty" schema:"min_age_in_days,omitempty"` // Minimum password age before change is allowed (default 0 days)
	MaxAgeInDays   int  `json:"/Core/Security/CDS/PasswordPolicy/AgeInDays,omitempty" schema:"max_age_in_days,omitempty"`    // Maximum password age (default 365 days)
	History        int  `json:"/Core/Security/CDS/PasswordPolicy/History,omitempty" schema:"password_history,omitempty"`     // Password history (default 3)
	NotifySoft     int  `json:"/Core/PasswordReset/NotifySoft,omitempty" schema:"expire_soft_notification,omitempty"`        // Password Expiration Notification (default 14 days)
	NotifyHard     int  `json:"/Core/PasswordReset/NotifyHard,omitempty" schema:"expire_hard_notification,omitempty"`        // Escalated Password Expiration Notification (default 48 hours)
	NotifyOnMobile bool `json:"/Core/PasswordChange/NotifyOnMobile,omitempty" schema:"expire_notification_mobile,omitempty"` // Enable password expiration notifications on enrolled mobile devices
	// Capture Settings
	BadAttemptThreshold int `json:"/Core/Security/CDS/LockoutPolicy/Threshold,omitempty" schema:"bad_attempt_threshold,omitempty"` // Maximum consecutive bad password attempts allowed within window (default Off)
	CaptureWindow       int `json:"/Core/Security/CDS/LockoutPolicy/Window,omitempty" schema:"capture_window,omitempty"`           // Capture window for consecutive bad password attempts (default 30 minutes)
	LockoutDuration     int `json:"/Core/Security/CDS/LockoutPolicy/Duration,omitempty" schema:"lockout_duration,omitempty"`       // Lockout duration before password re-attempt allowed (default 30 minutes)
}

type PolicyRadius

type PolicyRadius struct {
	AllowRadius          bool   `json:"/Core/Authentication/AllowRadius,omitempty" schema:"allow_radius,omitempty"`                                  // Allow RADIUS client connections
	RadiusUseChallenges  bool   `json:"/Core/Authentication/RadiusUseChallenges,omitempty" schema:"require_challenges,omitempty"`                    // Require authentication challenge
	DefaultProfileID     string `json:"/Core/Authentication/RadiusChallengeProfile,omitempty" schema:"default_profile_id,omitempty"`                 // Default authentication profile
	SendVendorAttributes bool   `json:"/Core/Authentication/SendRadiusVendorSpecificAttributes,omitempty" schema:"send_vendor_attributes,omitempty"` // Send vendor specific attributes
	AllowExternalRadius  bool   `json:"/Core/Authentication/AllowExternalRadius,omitempty" schema:"allow_external_radius,omitempty"`                 // Allow 3rd Party RADIUS Authentication
}

type PolicySecretSet

type PolicySecretSet struct {
	DataVaultDefaultProfile string          `json:"/PAS/DataVault/DataVaultDefaultProfile,omitempty" schema:"default_profile_id,omitempty"` // Default Secret Challenge Profile (used if no conditions matched)
	ChallengeRules          *ChallengeRules `json:"/PAS/DataVault/DataVaultRules,omitempty" schema:"challenge_rule,omitempty"`
}

type PolicySelfService

type PolicySelfService struct {
	AccountSelfServiceEnabled bool `json:"PasswordResetEnabled,omitempty" schema:"account_selfservice_enabled,omitempty"` // Enable account self service controls
	// Password Reset
	PasswordResetEnabled         bool   `json:"/Core/PasswordReset/PasswordResetEnabled,omitempty" schema:"password_reset_enabled,omitempty"`
	PasswordResetADEnabled       bool   `json:"/Core/PasswordReset/PasswordResetADEnabled,omitempty" schema:"pwreset_allow_for_aduser,omitempty"`          // Allow for Active Directory users
	PasswordResetCookieOnly      bool   `json:"/Core/PasswordReset/PasswordResetIdentityCookieOnly,omitempty" schema:"pwreset_with_cookie_only,omitempty"` // Only allow from browsers with identity cookie
	PasswordResetRequiresRelogin bool   `json:"/Core/PasswordReset/PasswordResetRequiresMfaRestart,omitempty" schema:"login_after_reset,omitempty"`        // User must log in after successful password reset
	PasswordResetAuthProfile     string `json:"/Core/PasswordReset/PasswordResetAuthProfile,omitempty" schema:"pwreset_auth_profile_id,omitempty"`         // Password reset authentication profile
	PasswordResetMaxAttempts     int    `json:"/Core/PasswordReset/PasswordResetMaxAttemptsPerSession,omitempty" schema:"max_reset_attempts,omitempty"`    // Maximum consecutive password reset attempts per session
	// Account Unlock
	AccountUnlockEnabled     bool   `json:"/Core/PasswordReset/AccountUnlockEnabled,omitempty" schema:"account_unlock_enabled,omitempty"`
	AccountUnlockADEnabled   bool   `json:"/Core/PasswordReset/AccountUnlockADEnabled,omitempty" schema:"unlock_allow_for_aduser,omitempty"`          // Allow for Active Directory users
	AccountUnlockCookieOnly  bool   `json:"/Core/PasswordReset/AccountUnlockIdentityCookieOnly,omitempty" schema:"unlock_with_cookie_only,omitempty"` // Only allow from browsers with identity cookie
	ShowAccountLocked        bool   `json:"/Mobile/EndpointAgent/showAccountLocked" schema:"show_locked_message,omitempty"`                           // Show a message to end users in desktop login that account is locked (default no)
	AccountUnlockAuthProfile string `json:"/Core/PasswordReset/AccountUnlockAuthProfile,omitempty" schema:"unlock_auth_profile_id,omitempty"`         // Account unlock authentication profile
	// Active Directory Self Service Settings
	UseADAdmin  bool               `json:"/Core/PasswordReset/UseADAdmin,omitempty" schema:"use_ad_admin,omitempty"` // Use AD admin for AD self-service
	ADAdminUser string             `json:"/Core/PasswordReset/ADAdminUser,omitempty" schema:"ad_admin_user,omitempty"`
	ADAdminPass *PolicyADAdminPass `json:"/Core/PasswordReset/ADAdminPass,omitempty" schema:"admin_user_password,omitempty"`
	// Additional Policy Parameters
	MaxResetAllowed int `json:"/Core/PasswordReset/Max,omitempty" schema:"max_reset_allowed,omitempty"`    // Maximum forgotten password resets allowed within window (default 10)
	MaxTimeAllowed  int `json:"/Core/PasswordReset/MaxTime,omitempty" schema:"max_time_allowed,omitempty"` // Capture window for forgotten password resets (default 60 minutes)
}

type PolicySettings

type PolicySettings struct {
	CentrifyServices       *PolicyCentrifyServices       `json:"CentrifyServices,omitempty" schema:"centrify_services,omitempty"`              // Authentication -> Centrify Services
	CentrifyClient         *PolicyCentrifyClient         `json:"CentrifyClient,omitempty" schema:"centrify_client,omitempty"`                  // Authentication -> Centrify Clients -> Login
	CentrifyCSSServer      *PolicyCentrifyCSSServer      `json:"CentrifyCSSServer,omitempty" schema:"centrify_css_server,omitempty"`           // Authentication -> Centrify Server Suite Agents -> Linux, UNIX and Windows Servers
	CentrifyCSSWorkstation *PolicyCentrifyCSSWorkstation `json:"CentrifyCSSWorkstation,omitempty" schema:"centrify_css_workstation,omitempty"` // Authentication -> Centrify Server Suite Agents -> Windows Workstations
	CentrifyCSSElevation   *PolicyCentrifyCSSElevation   `json:"CentrifyCSSElevation,omitempty" schema:"centrify_css_elevation,omitempty"`     // Authentication -> Centrify Server Suite Agents -> Privilege Elevation
	SelfService            *PolicySelfService            `json:"SelfService,omitempty" schema:"self_service,omitempty"`                        // User Security -> Self Service
	PasswordSettings       *PolicyPasswordSettings       `json:"PasswordSettings,omitempty" schema:"password_settings,omitempty"`              // User Security -> Password Settings
	OATHOTP                *PolicyOathOTP                `json:"OATHOTP,omitempty" schema:"oath_otp,omitempty"`                                // User Security -> OATH OTP
	Radius                 *PolicyRadius                 `json:"Radius,omitempty" schema:"radius,omitempty"`                                   // User Security -> RADIUS
	UserAccount            *PolicyUserAccount            `json:"UserAccount,omitempty" schema:"user_account,omitempty"`                        // User Security -> User Account
	SystemSet              *PolicySystemSet              `json:"SystemSet,omitempty" schema:"system_set,omitempty"`                            // Resouces -> Systems
	DatabaseSet            *PolicyDatabaseSet            `json:"DatabaseSet,omitempty" schema:"database_set,omitempty"`                        // Resouces -> Databases
	DomainSet              *PolicyDomainSet              `json:"DomainSet,omitempty" schema:"domain_set,omitempty"`                            // Resouces -> Domains
	AccountSet             *PolicyAccountSet             `json:"AccountSet,omitempty" schema:"account_set,omitempty"`                          // Resouces -> Accounts
	SecretSet              *PolicySecretSet              `json:"SecretSet,omitempty" schema:"secret_set,omitempty"`                            // Resouces -> Secrets
	SSHKeySet              *PolicySshKeySet              `json:"SSHKeySet,omitempty" schema:"sshkey_set,omitempty"`                            // Resouces -> SSH Keys
	CloudProvidersSet      *PolicyCloudProvidersSet      `json:"CloudProvidersSet,omitempty" schema:"cloudproviders_set,omitempty"`            // Resouces -> Cloud Providers
	MobileDevice           *PolicyMobileDevice           `json:"MobileDevice,omitempty" schema:"mobile_device,omitempty"`                      // Devices
}

type PolicySshKeySet

type PolicySshKeySet struct {
	SSHKeysDefaultProfile string          `json:"/PAS/SshKeys/SshKeysDefaultProfile,omitempty" schema:"default_profile_id,omitempty"` // Default SSH Key Challenge Profile
	ChallengeRules        *ChallengeRules `json:"/PAS/SshKeys/SshKeysRules,omitempty" schema:"challenge_rule,omitempty"`
}

type PolicySystemSet

type PolicySystemSet struct {
	// Account Policy
	DefaultCheckoutTime int `json:"/PAS/Server/DefaultCheckoutTime,omitempty" schema:"checkout_lifetime,omitempty"` // Checkout lifetime (minutes)
	// System Policy
	AllowRemote         bool            `json:"/PAS/Server/AllowRemote,omitempty" schema:"allow_remote_access,omitempty"`        // Allow access from a public network (web client only)
	AllowRdpClipboard   bool            `json:"/PAS/Server/AllowRdpClipboard,omitempty" schema:"allow_rdp_clipboard,omitempty"`  // Allow RDP client to sync local clipboard with remote session
	LoginDefaultProfile string          `json:"/PAS/Server/LoginDefaultProfile,omitempty" schema:"default_profile_id,omitempty"` // Default System Login Profile (used if no conditions matched)
	ChallengeRules      *ChallengeRules `json:"/PAS/Server/LoginRules,omitempty" schema:"challenge_rule,omitempty"`
	// Security Settings
	AllowMultipleCheckouts            bool `json:"/PAS/ConfigurationSetting/Server/AllowMultipleCheckouts,omitempty" schema:"allow_multiple_checkouts,omitempty"` // Allow multiple password checkouts for this system
	AllowPasswordRotation             bool `json:"/PAS/ConfigurationSetting/Server/AllowPasswordRotation,omitempty" schema:"enable_password_rotation,omitempty"`  // Enable periodic password rotation
	PasswordRotateDuration            int  `json:"/PAS/ConfigurationSetting/Server/PasswordRotateDuration,omitempty" schema:"password_rotate_interval,omitempty"` // Password rotation interval (days)
	AllowPasswordRotationAfterCheckin bool ``                                                                                                                     // Enable password rotation after checkin
	/* 141-byte string literal not displayed */
	MinimumPasswordAge         int    `json:"/PAS/ConfigurationSetting/Server/MinimumPasswordAge,omitempty" schema:"minimum_password_age,omitempty"`      // Minimum Password Age (days)
	MinimumSSHKeysAge          int    `json:"/PAS/ConfigurationSetting/Server/MinimumSshKeysAge,omitempty" schema:"minimum_sshkey_age,omitempty"`         // Minimum SSH Key Age (days)
	AllowSSHKeysRotation       bool   `json:"/PAS/ConfigurationSetting/Server/AllowSshKeysRotation,omitempty" schema:"enable_sshkey_rotation,omitempty"`  // Enable periodic SSH key rotation
	SSHKeysRotateDuration      int    `json:"/PAS/ConfigurationSetting/Server/SshKeysRotateDuration,omitempty" schema:"sshkey_rotate_interval,omitempty"` // SSH key rotation interval (days)
	SSHKeysGenerationAlgorithm string `json:"/PAS/ConfigurationSetting/Server/SshKeysGenerationAlgorithm,omitempty" schema:"sshkey_algorithm,omitempty"`  // SSH Key Generation Algorithm
	// Maintenance Settings
	AllowPasswordHistoryCleanUp bool `` // Enable periodic password history cleanup
	/* 128-byte string literal not displayed */
	PasswordHistoryCleanUpDuration int `` // Password history cleanup (days)
	/* 132-byte string literal not displayed */
	AllowSSHKeysCleanUp    bool `json:"/PAS/ConfigurationSetting/Server/AllowSshKeysCleanUp,omitempty" schema:"enable_sshkey_history_cleanup,omitempty"`     // Enable periodic SSH key cleanup
	SSHKeysCleanUpDuration int  `json:"/PAS/ConfigurationSetting/Server/SshKeysCleanUpDuration,omitempty" schema:"sshkey_historycleanup_duration,omitempty"` // SSH key cleanup (days)
}

type PolicyUserAccount

type PolicyUserAccount struct {
	UserChangePasswordAllow     bool   `json:"/Core/PasswordChange/UserChangeAllow,omitempty" schema:"allow_user_change_password,omitempty"`                  // Enable users to change their passwords
	PasswordChangeAuthProfileID string `json:"/Core/Authentication/UserUpdateProfile/Password,omitempty" schema:"password_change_auth_profile_id,omitempty"`  // Authentication Profile required to change password
	ShowU2f                     bool   `json:"/Core/Security/CDS/ExternalMFA/ShowU2f,omitempty" schema:"show_fido2,omitempty"`                                // Enable users to enroll FIDO2 Authenticators
	U2fPrompt                   string `json:"/Core/Security/CDS/ExternalMFA/U2fUiPrompt,omitempty" schema:"fido2_prompt,omitempty"`                          // FIDO2 Security Key Display Name
	U2fAuthProfileID            string `json:"/Core/Authentication/UserUpdateProfile/U2F,omitempty" schema:"fido2_auth_profile_id,omitempty"`                 // Authentication Profile required to configure FIDO2 Authenticators
	ShowQRCode                  bool   `json:"/Core/Security/CDS/ExternalMFA/ShowQRCodeForSelfService,omitempty" schema:"show_otp,omitempty"`                 // Enable users to configure an OATH OTP client (requires enabling OATH OTP policy)
	OTPPrompt                   string `json:"/Core/Security/CDS/ExternalMFA/UiPrompt,omitempty" schema:"otp_prompt,omitempty"`                               // OATH OTP Display Name
	OTPAuthProfileID            string `json:"/Core/Authentication/UserUpdateProfile/OathProfile,omitempty" schema:"otp_auth_profile_id,omitempty"`           // Authentication Profile required to configure OATH OTP client
	ConfigureSecurityQuestions  bool   `json:"/Core/Authentication/ConfigureSecurityQuestions,omitempty" schema:"configure_security_questions,omitempty"`     // Enable users to configure Security Questions
	AllowDupAnswers             bool   `json:"/Core/Authentication/SecurityQuestionPreventDupAnswers,omitempty" schema:"prevent_dup_answers,omitempty"`       // Allow duplicate security question answers
	UserDefinedQuestions        int    `json:"/Core/Authentication/UserSecurityQuestionsPerUser,omitempty" schema:"user_defined_questions,omitempty"`         // Required number of user-defined questions
	AdminDefinedQuestions       int    `json:"/Core/Authentication/AdminSecurityQuestionsPerUser,omitempty" schema:"admin_defined_questions,omitempty"`       // Required number of admin-defined questions
	MinCharInAnswer             int    `json:"/Core/Authentication/SecurityQuestionAnswerMinLength,omitempty" schema:"min_char_in_answer,omitempty"`          // Minimum number of characters required in answers
	QuestionAuthProfileID       string `json:"/Core/Authentication/UserUpdateProfile/SecurityQuestion,omitempty" schema:"question_auth_profile_id,omitempty"` // Authentication Profile required to set Security Questions
	PhonePinChangeAllow         bool   `json:"/Core/PhoneAuth/UserChangeAllow,omitempty" schema:"allow_phone_pin_change,omitempty"`                           // Enable users to configure a Phone PIN for MFA
	MinPhonePinLength           int    `json:"/Core/Authentication/MinPhonePinLength,omitempty" schema:"min_phone_pin_length,omitempty"`                      // Minimum Phone PIN length
	PhonePinAuthProfileID       string `json:"/Core/Authentication/UserUpdateProfile/PhonePin,omitempty" schema:"phone_pin_auth_profile_id,omitempty"`        // Authentication Profile required to configure a Phone PIN
	AllowUserChangeMFARedirect  bool   `json:"/Core/Security/CDS/AllowUserChangeMFARedirect,omitempty" schema:"allow_mfa_redirect_change,omitempty"`          // Enable users to redirect multi factor authentication to a different user account
	UserProfileAuthProfileID    string `json:"/Core/Authentication/UserUpdateProfile/Profile,omitempty" schema:"user_profile_auth_profile_id,omitempty"`      // Authentication Profile required to modify Personal Profile
	DefaultLanguage             string `json:"/Core/Policy/Culture,omitempty" schema:"default_language,omitempty"`                                            // Default Language
}

type Role

type Role struct {

	// Users
	//Users       []string     `json:"Users,omitempty" schema:"users,omitempty"`
	Members     []RoleMember `json:"Members,omitempty" schema:"member,omitempty"`
	AdminRights []string     `json:"AdminRights,omitempty" schema:"adminrights,omitempty"`
	// contains filtered or unexported fields
}

Role - Encapsulates a single Generic Role

func NewRole

func NewRole(c *restapi.RestClient) *Role

NewRole is a role constructor

func (*Role) AddToSetsByID

func (o *Role) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*Role) AddToSetsByName

func (o *Role) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*Role) AssignAdminRights

func (o *Role) AssignAdminRights() (*restapi.GenericMapResponse, error)

AssignAdminRights function adds admin rights to a role. The rights parameter is a slice of admin right name It returns a map that contains call result

func (*Role) Create

func (o *Role) Create() (*restapi.GenericMapResponse, error)

Create function creates a new role and returns a map that contains creation result

func (*Role) Delete

func (o *Role) Delete() (*restapi.GenericMapResponse, error)

Delete function deletes a role and returns a map that contains deletion result

func (*Role) DeleteByName

func (o *Role) DeleteByName() (*restapi.GenericMapResponse, error)

DeleteByName deletes a role by name

func (*Role) FillStruct

func (o *Role) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*Role) GetAdminRights

func (o *Role) GetAdminRights() (map[string]interface{}, error)

GetAdminRights function fetches admin rights that are assigned to a role and returns a map. The map key is admin right name and map value is path of the json file

func (*Role) GetByName

func (o *Role) GetByName() error

GetByName retrieves role from tenant by name

func (*Role) GetIDByName

func (o *Role) GetIDByName() (string, error)

GetIDByName returns role ID by name

func (*Role) Query

func (o *Role) Query() (map[string]interface{}, error)

Query function returns a single role object in map format

func (*Role) Read

func (o *Role) Read() error

Read function fetches a Role from source, including attribute values. Returns error if any

func (*Role) RemoveAdminRights

func (o *Role) RemoveAdminRights(rights map[string]interface{}) (*restapi.GenericMapResponse, error)

RemoveAdminRights function removes existing admin rights from a role. The rights parameter is a map. The map key is admin right name and map value is path of the json file

func (*Role) SetPermissions

func (o *Role) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*Role) Update

func (o *Role) Update() (*restapi.GenericMapResponse, error)

Update function updates a existing role and returns a map that contains update result

func (*Role) UpdateMembers

func (o *Role) UpdateMembers(ids []string, action string, membertype string) (*restapi.StringResponse, error)

UpdateMembers adds or removes members into or from a role. Actions are 'Add' or 'Delete'. Types are 'Users', 'Roles', 'Groups'

func (*Role) UpdateRoleMembers

func (o *Role) UpdateRoleMembers(members []RoleMember, action string) (*restapi.StringResponse, error)

UpdateRoleMembers adds or removes members into or from a role. Actions are 'Add' or 'Delete'. Types are 'Users', 'Roles', 'Groups'

type RoleMember

type RoleMember struct {
	MemberName string `json:"Name,omitempty" schema:"name,omitempty"`
	MemberID   string `json:"Guid,omitempty" schema:"id,omitempty"`
	MemberType string `json:"Type,omitempty" schema:"type,omitempty"`
}

RoleMember - Encapsulates a single role member

type SSHKey

type SSHKey struct {
	SSHKeysDefaultProfileID string          `json:"SshKeysDefaultProfile,omitempty" schema:"default_profile_id,omitempty"` // Default SSH Key Challenge Profile
	ChallengeRules          *ChallengeRules `json:"SshKeysRules,omitempty" schema:"challenge_rule,omitempty"`
	KeyFormat               string          `json:"KeyFormat,omitempty" schema:"key_format,omitempty"`
	KeyLength               int             `json:"KeyLength,omitempty" schema:"key_length,omitempty"`
	KeyType                 string          `json:"KeyType,omitempty" schema:"key_type,omitempty"`
	IsManaged               bool            `json:"IsManaged,omitempty" schema:"is_managed,omitempty"`
	Description             string          `json:"Comment,omitempty" schema:"description,omitempty"`
	PrivateKey              string          `json:"PrivateKey,omitempty" schema:"private_key,omitempty"`
	Passphrase              string          `json:"Passphrase,omitempty" schema:"passphrase,omitempty"`
	KeyPairType             string          `json:"KeyPairType,omitempty" schema:"key_pair_type,omitempty"` // Which key to retrieve from the pair, must be either PublicKey, PrivateKey, or PPK
	// contains filtered or unexported fields
}

SSHKey - Encapsulates a single generic SSHKey

func NewSSHKey

func NewSSHKey(c *restapi.RestClient) *SSHKey

NewSSHKey is a SSHKey constructor

func (*SSHKey) AddToSetsByID

func (o *SSHKey) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*SSHKey) AddToSetsByName

func (o *SSHKey) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*SSHKey) Create

func (o *SSHKey) Create() (*restapi.StringResponse, error)

Create function creates a new SSHKey and returns a map that contains creation result

func (*SSHKey) Delete

func (o *SSHKey) Delete() (*restapi.StringResponse, error)

Delete function deletes a SSHKey and returns a map that contains deletion result

func (*SSHKey) DeleteByName

func (o *SSHKey) DeleteByName() (*restapi.StringResponse, error)

DeleteByName deletes a sshkey by name

func (*SSHKey) FillStruct

func (o *SSHKey) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*SSHKey) GetByName

func (o *SSHKey) GetByName() error

GetByName retrieves sshkey from tenant by name

func (*SSHKey) GetIDByName

func (o *SSHKey) GetIDByName() (string, error)

GetIDByName returns SSHKey ID by name

func (*SSHKey) Query

func (o *SSHKey) Query() (map[string]interface{}, error)

Query function returns a single SSHKey object in map format

func (*SSHKey) Read

func (o *SSHKey) Read() error

Read function fetches a SSHKey from source

func (*SSHKey) RetriveSSHKey

func (o *SSHKey) RetriveSSHKey() (string, error)

RetriveSSHKey retrieves SSH Key from vault

func (*SSHKey) SetPermissions

func (o *SSHKey) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*SSHKey) Update

func (o *SSHKey) Update() (*restapi.GenericMapResponse, error)

Update function updates an existing SSHKey and returns a map that contains update result

type Secret

type Secret struct {
	SecretName              string          `json:"SecretName,omitempty" schema:"secret_name,omitempty"` // User Name
	SecretText              string          `json:"SecretText,omitempty" schema:"secret_text,omitempty"`
	Type                    string          `json:"Type,omitempty" schema:"type,omitempty"`
	FolderID                string          `json:"FolderId,omitempty" schema:"folder_id,omitempty"`
	ParentPath              string          `json:"ParentPath,omitempty" schema:"parent_path,omitempty"`
	DataVaultDefaultProfile string          `json:"DataVaultDefaultProfile" schema:"default_profile_id"` // Default Secret Challenge Profile (used if no conditions matched)
	ChallengeRules          *ChallengeRules `json:"DataVaultRules,omitempty" schema:"challenge_rule,omitempty"`
	Sets                    []string        `json:"Sets,omitempty" schema:"sets,omitempty"`
	NewParentPath           string          `json:"-"`
	// contains filtered or unexported fields
}

Secret - Encapsulates a single generic secret

func NewSecret

func NewSecret(c *restapi.RestClient) *Secret

NewSecret is a Secret constructor

func (*Secret) AddToSetsByID

func (o *Secret) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*Secret) AddToSetsByName

func (o *Secret) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*Secret) CheckoutSecret

func (o *Secret) CheckoutSecret() (string, error)

CheckoutSecret checks out secret from vault

func (*Secret) Create

func (o *Secret) Create() (*restapi.StringResponse, error)

Create function creates a new Secret and returns a map that contains creation result

func (*Secret) Delete

func (o *Secret) Delete() (*restapi.BoolResponse, error)

Delete function deletes a Secret and returns a map that contains deletion result

func (*Secret) DeleteByName

func (o *Secret) DeleteByName() (*restapi.BoolResponse, error)

DeleteByName deletes a Secret by name

func (*Secret) FillStruct

func (o *Secret) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*Secret) GetByName

func (o *Secret) GetByName() error

GetByName retrieves Secret from tenant by name

func (*Secret) GetIDByName

func (o *Secret) GetIDByName() (string, error)

GetIDByName returns Secret ID by name

func (*Secret) MoveSecret

func (o *Secret) MoveSecret() (*restapi.BoolResponse, error)

MoveSecret function moves an existing Secret to another folder

func (*Secret) Query

func (o *Secret) Query() (map[string]interface{}, error)

Query function returns a single Secret object in map format

func (*Secret) Read

func (o *Secret) Read() error

Read function fetches a Secret from source, including attribute values. Returns error if any

func (*Secret) SetPermissions

func (o *Secret) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*Secret) Update

func (o *Secret) Update() (*restapi.GenericMapResponse, error)

Update function updates an existing Secret and returns a map that contains update result

type SecretFolder

type SecretFolder struct {
	ValidMemberPermissions map[string]string

	Type                            string          `json:"Type,omitempty" schema:"type,omitempty"`        // Can only be Folder
	ParentID                        string          `json:"Parent,omitempty" schema:"parent_id,omitempty"` // ID of parent folder
	ParentPath                      string          `json:"ParentPath,omitempty" schema:"parent_path,omitempty"`
	CollectionMembersDefaultProfile string          `json:"CollectionMembersDefaultProfile" schema:"default_profile_id"` // Default Secret Challenge Profile (used if no conditions matched)
	ChallengeRules                  *ChallengeRules `json:"CollectionMembersRules,omitempty" schema:"challenge_rule,omitempty"`
	MemberPermissions               []Permission
	NewParentPath                   string `json:"-"`
	// contains filtered or unexported fields
}

SecretFolder - Encapsulates a single generic secret folder

func NewSecretFolder

func NewSecretFolder(c *restapi.RestClient) *SecretFolder

NewSecretFolder is a SecretFolder constructor

func (*SecretFolder) AddToSetsByID

func (o *SecretFolder) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*SecretFolder) AddToSetsByName

func (o *SecretFolder) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*SecretFolder) Create

func (o *SecretFolder) Create() (*restapi.StringResponse, error)

Create function creates a new SecretFolder and returns a map that contains creation result

func (*SecretFolder) Delete

func (o *SecretFolder) Delete() (*restapi.BoolResponse, error)

Delete function deletes a SecretFolder and returns a map that contains deletion result

func (*SecretFolder) DeleteByName

func (o *SecretFolder) DeleteByName() (*restapi.BoolResponse, error)

DeleteByName deletes a Secret folder by name

func (*SecretFolder) FillStruct

func (o *SecretFolder) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*SecretFolder) GetByName

func (o *SecretFolder) GetByName() error

GetByName retrieves Secret folder from tenant by name

func (*SecretFolder) GetIDByName

func (o *SecretFolder) GetIDByName() (string, error)

GetIDByName returns Secret folder ID by name

func (*SecretFolder) MoveFolder

func (o *SecretFolder) MoveFolder() (*restapi.BoolResponse, error)

MoveFolder function moves an existing SecretFolder to another folder

func (*SecretFolder) Query

func (o *SecretFolder) Query() (map[string]interface{}, error)

Query function returns a single SecretFolder object in map format

func (*SecretFolder) Read

func (o *SecretFolder) Read() error

Read function fetches a SecretFolder from source, including attribute values. Returns error if any

func (*SecretFolder) SetMemberPermissions

func (o *SecretFolder) SetMemberPermissions(isRemove bool) (*restapi.GenericMapResponse, error)

SetMemberPermissions sets member permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*SecretFolder) SetPermissions

func (o *SecretFolder) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*SecretFolder) Update

func (o *SecretFolder) Update() (*restapi.GenericMapResponse, error)

Update function updates an existing SecretFolder and returns a map that contains update result

type Service

type Service struct {
	SystemID               string `json:"ComputerID,omitempty" schema:"system_id,omitempty"`
	SystemName             string `json:"-"` // Use by SDK call
	ServiceType            string `json:"Type,omitempty" schema:"service_type,omitempty"`
	Name                   string `json:"WindowsServiceName,omitempty" schema:"service_name,omitempty"`
	EnableManagement       bool   `json:"IsActive" schema:"enable_management"`
	AdminAccountID         string `json:"PushCreds,omitempty" schema:"admin_account_id,omitempty"`
	AdminAccountUPN        string `json:"-"` // Use by SDK call
	MultiplexedAccountID   string `json:"AccountID,omitempty" schema:"multiplexed_account_id,omitempty"`
	MultiplexedAccountName string `json:"-"` // Use by SDK call
	RestartService         bool   `json:"RestartService" schema:"restart_service"`
	RestartTimeRestriction bool   `json:"RestartTimeRestriction" schema:"restart_time_restriction"`
	DaysOfWeek             string `json:"DaysOfWeek,omitempty" schema:"days_of_week,omitempty"`
	RestartStartTime       string `json:"RestartStartTime,omitempty" schema:"restart_start_time,omitempty"`
	RestartEndTime         string `json:"RestartEndTime,omitempty" schema:"restart_end_time,omitempty"`
	UseUTCTime             bool   `json:"RestartTimeInUtc" schema:"use_utc_time"`
	// contains filtered or unexported fields
}

Service - Encapsulates a single Service

func NewService

func NewService(c *restapi.RestClient) *Service

NewService is a Service constructor

func (*Service) AddToSetsByID

func (o *Service) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*Service) AddToSetsByName

func (o *Service) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*Service) Create

func (o *Service) Create() (*restapi.StringResponse, error)

Create function creates a new Service

func (*Service) Delete

func (o *Service) Delete() (*restapi.GenericMapResponse, error)

Delete function deletes a Service

func (*Service) DeleteByName

func (o *Service) DeleteByName() (*restapi.GenericMapResponse, error)

DeleteByName deletes a service by name

func (*Service) FillStruct

func (o *Service) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*Service) GetByName

func (o *Service) GetByName() error

GetByName retrieves service from tenant by name

func (*Service) GetIDByName

func (o *Service) GetIDByName() (string, error)

GetIDByName returns service ID by name

func (*Service) Query

func (o *Service) Query() (map[string]interface{}, error)

Query function returns a single Service object in map format

func (*Service) Read

func (o *Service) Read() error

Read function fetches a Service from source, including attribute values. Returns error if any

func (*Service) SetPermissions

func (o *Service) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*Service) Update

func (o *Service) Update() (*restapi.StringResponse, error)

Update function updates an existing Service

type System

type System struct {
	FQDN          string `json:"FQDN,omitempty" schema:"fqdn,omitempty"`
	ComputerClass string `json:"ComputerClass,omitempty" schema:"computer_class,omitempty"` // Valid values are: Windows, Unix, CiscoIOS, CiscoNXOS, JuniperJunos, HpNonStopOS, IBMi, CheckPointGaia
	// PaloAltoNetworksPANOS, F5NetworksBIGIP, CiscoAsyncOS, VMwareVMkernel, GenericSsh, Customssh
	//SystemProfileId string `json:"SystemProfileId,omitempty" schema:"system_rofile_id,omitempty"` // For Customssh
	SessionType        string `json:"SessionType,omitempty" schema:"session_type,omitempty"`       // Valid values are: Rdp, Ssh
	ManagementMode     string `json:"ManagementMode,omitempty" schema:"management_mode,omitempty"` // Valid values are: RpcOverTcp, Smb, WinRMOverHttp, WinRMOverHttps, Disabled
	ManagementPort     int    `json:"ManagementPort,omitempty" schema:"management_port,omitempty"` // For Windows, F5, PAN-OS and VMKernel only
	Port               int    `json:"Port,omitempty" schema:"port,omitempty"`
	TimeZoneID         string `json:"TimeZoneID,omitempty" schema:"system_timezone,omitempty"` // System Time Zone
	UseMyAccount       bool   `json:"CertAuthEnable,omitempty" schema:"use_my_account,omitempty"`
	Status             string `json:"Status,omitempty" schema:"status,omitempty"`
	ProxyUser          string `json:"ProxyUser" schema:"proxyuser"` // To disable ProxyUser, it needs to be set to "" instead of omitting
	ProxyUserPassword  string `json:"ProxyUserPassword,omitempty" schema:"proxyuser_password,omitempty"`
	ProxyUserIsManaged bool   `json:"ProxyUserIsManaged" schema:"proxyuser_managed"` // ProxyUserIsManaged needs to be set instead of omitting otherwise update fails

	// System -> Policy menu related settings
	DefaultCheckoutTime              int             `json:"DefaultCheckoutTime,omitempty" schema:"checkout_lifetime,omitempty"`                                   // Checkout lifetime (minutes)
	AllowRemote                      bool            `json:"AllowRemote,omitempty" schema:"allow_remote_access,omitempty"`                                         // Allow access from a public network (web client only)
	AllowRdpClipboard                bool            `json:"AllowRdpClipboard,omitempty" schema:"allow_rdp_clipboard,omitempty"`                                   // Allow RDP client to sync local clipboard with remote session
	ChallengeRules                   *ChallengeRules `json:"LoginRules,omitempty" schema:"challenge_rule,omitempty"`                                               // System Login Challenge Rules
	LoginDefaultProfile              string          `json:"LoginDefaultProfile,omitempty" schema:"default_profile_id,omitempty"`                                  // Default System Login Profile (used if no conditions matched)
	PrivilegeElevationDefaultProfile string          `json:"PrivilegeElevationDefaultProfile,omitempty" schema:"privilege_elevation_default_profile_id,omitempty"` // Default Privilege Elevation Profile (used if no conditions matched)
	PrivilegeElevationRules          *ChallengeRules `json:"PrivilegeElevationRules,omitempty" schema:"privilege_elevation_rule,omitempty"`                        // Privilege Elevation Challenge Rules

	// System -> Advanced menu related settings
	AllowAutomaticLocalAccountMaintenance bool   `json:"AllowAutomaticLocalAccountMaintenance,omitempty" schema:"local_account_automatic_maintenance,omitempty"` // Local Account Automatic Maintenance
	AllowManualLocalAccountUnlock         bool   `json:"AllowManualLocalAccountUnlock,omitempty" schema:"local_account_manual_unlock,omitempty"`                 // Local Account Manual Unlock
	DomainID                              string `json:"DomainId,omitempty" schema:"domain_id,omitempty"`                                                        // Domain
	RemoveUserOnSessionEnd                bool   `json:"RemoveUserOnSessionEnd,omitempty" schema:"remove_user_on_session_end,omitempty"`
	AllowMultipleCheckouts                bool   `json:"AllowMultipleCheckouts,omitempty" schema:"allow_multiple_checkouts,omitempty"`                          // Allow multiple password checkouts for this system
	AllowPasswordRotation                 bool   `json:"AllowPasswordRotation,omitempty" schema:"enable_password_rotation,omitempty"`                           // Enable periodic password rotation
	PasswordRotateDuration                int    `json:"PasswordRotateDuration,omitempty" schema:"password_rotate_interval,omitempty"`                          // Password rotation interval (days)
	AllowPasswordRotationAfterCheckin     bool   `json:"AllowPasswordRotationAfterCheckin,omitempty" schema:"enable_password_rotation_after_checkin,omitempty"` // Enable password rotation after checkin
	MinimumPasswordAge                    int    `json:"MinimumPasswordAge,omitempty" schema:"minimum_password_age,omitempty"`                                  // Minimum Password Age (days)
	PasswordProfileID                     string `json:"PasswordProfileID,omitempty" schema:"password_profile_id,omitempty"`                                    // Password Complexity Profile
	AllowPasswordHistoryCleanUp           bool   `json:"AllowPasswordHistoryCleanUp,omitempty" schema:"enable_password_history_cleanup,omitempty"`              // Enable periodic password history cleanup
	PasswordHistoryCleanUpDuration        int    `json:"PasswordHistoryCleanUpDuration,omitempty" schema:"password_historycleanup_duration,omitempty"`          // Password history cleanup (days)

	AllowSSHKeysRotation       bool   `json:"AllowSshKeysRotation,omitempty" schema:"enable_sshkey_rotation,omitempty"`           // Enable periodic SSH key rotation
	SSHKeysRotateDuration      int    `json:"SshKeysRotateDuration,omitempty" schema:"sshkey_rotate_interval,omitempty"`          // SSH key rotation interval (days)
	MinimumSSHKeysAge          int    `json:"MinimumSshKeysAge,omitempty" schema:"minimum_sshkey_age,omitempty"`                  // Minimum SSH Key Age (days)
	SSHKeysGenerationAlgorithm string `json:"SshKeysGenerationAlgorithm,omitempty" schema:"sshkey_algorithm,omitempty"`           // SSH Key Generation Algorithm
	AllowSSHKeysCleanUp        bool   `json:"AllowSshKeysCleanUp,omitempty" schema:"enable_sshkey_history_cleanup,omitempty"`     // Enable periodic SSH key cleanup
	SSHKeysCleanUpDuration     int    `json:"SshKeysCleanUpDuration,omitempty" schema:"sshkey_historycleanup_duration,omitempty"` // SSH key cleanup (days)

	// System -> Zone Role Workflow menu related settings
	DomainOperationsEnabled    bool `json:"DomainOperationsEnabled,omitempty" schema:"use_domainadmin_for_zonerole_workflow,omitempty"` // Use Domain Administrator Account for Zone Role Workflow operations
	ZoneRoleWorkflowEnabled    bool `json:"ZoneRoleWorkflowEnabled,omitempty" schema:"enable_zonerole_workflow,omitempty"`              // Enable zone role requests for this system
	UseDomainWorkflowRoles     bool `json:"UseDomainWorkflowRoles,omitempty" schema:"use_domain_workflow_rules,omitempty"`              // Assignable Zone Roles - Use domain assignments
	UseDomainWorkflowApprovers bool `json:"UseDomainWorkflowApprovers,omitempty" schema:"use_domain_workflow_approvers,omitempty"`      // Approver list - Use domain assignments

	// System -> Connectors menu related settings
	ProxyCollectionList string `json:"ProxyCollectionList,omitempty" schema:"connector_list,omitempty"` // List of Connectors used
	// contains filtered or unexported fields
}

System - Encapsulates a single Generic System

func NewSystem

func NewSystem(c *restapi.RestClient) *System

NewSystem is a System constructor

func (*System) AddToSetsByID

func (o *System) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*System) AddToSetsByName

func (o *System) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*System) Create

func (o *System) Create() (*restapi.StringResponse, error)

Create function creates a new system

func (*System) Delete

func (o *System) Delete() (*restapi.BoolResponse, error)

Delete function deletes a system and returns a map that contains deletion result

func (*System) DeleteByName

func (o *System) DeleteByName() (*restapi.BoolResponse, error)

DeleteByName deletes a system by name

func (*System) FillStruct

func (o *System) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*System) GetByName

func (o *System) GetByName() error

GetByName retrieves system from tenant by name

func (*System) GetIDByName

func (o *System) GetIDByName() (string, error)

GetIDByName returns system ID by name

func (*System) Query

func (o *System) Query() (map[string]interface{}, error)

Query function returns a single System object in map format

func (*System) Read

func (o *System) Read() error

Read function fetches a system from source, including attribute values. Returns error if any

func (*System) ResolveValidPermissions

func (o *System) ResolveValidPermissions()

ResolveValidPermissions assign valid permissions according to computer class

func (*System) SetPermissions

func (o *System) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*System) Update

func (o *System) Update() (*restapi.GenericMapResponse, error)

Update function updates an existing system and returns a map that contains update result

func (*System) ValidateZoneWorkflow

func (o *System) ValidateZoneWorkflow() error

ValidateZoneWorkflow checks if domain_id is set if use_domainadmin_for_zonerole_workflow is true

type User

type User struct {
	Name                    string `json:"Name,omitempty" schema:"username,omitempty"`
	Mail                    string `json:"Mail,omitempty" schema:"email,omitempty"` // Email address
	DisplayName             string `json:"DisplayName,omitempty" schema:"displayname,omitempty"`
	Password                string `json:"Password,omitempty" schema:"password,omitempty"`
	ConfirmPassword         string `json:"confirmPassword,omitempty" schema:"confirm_password,omitempty"`
	PasswordNeverExpire     bool   `json:"PasswordNeverExpire,omitempty" schema:"password_never_expire,omitempty"`          // Password never expires
	ForcePasswordChangeNext bool   `json:"ForcePasswordChangeNext,omitempty" schema:"force_password_change_next,omitempty"` // Require password change at next login
	OauthClient             bool   `json:"OauthClient" schema:"oauth_client"`                                               // Is OAuth confidential client
	SendEmailInvite         bool   `json:"SendEmailInvite,omitempty" schema:"send_email_invite,omitempty"`                  // Send email invite for user profile setup
	OfficeNumber            string `json:"OfficeNumber,omitempty" schema:"office_number,omitempty"`
	HomeNumber              string `json:"HomeNumber,omitempty" schema:"home_number,omitempty"`
	MobileNumber            string `json:"MobileNumber,omitempty" schema:"mobile_number,omitempty"`
	//RedirectMFA             bool   `json:"jsutil-checkbox-2598-inputEl" schema:"redirect_mfa"` // Redirect multi factor authentication to a different user account
	RedirectMFAUserID string `json:"CmaRedirectedUserUuid" schema:"redirect_mfa_user_id"` // Redirect multi factor authentication to a different user account
	ReportsTo         string `json:"ReportsTo" schema:"manager_username"`                 // Manager

	// Roles
	Roles []string `json:"Roles,omitempty" schema:"roles,omitempty"`
	// contains filtered or unexported fields
}

User - Encapsulates a single user

func NewUser

func NewUser(c *restapi.RestClient) *User

NewUser is a user constructor

func (*User) AddToRoles

func (o *User) AddToRoles(roles []string) error

AddToRoles adds user to list of role

func (*User) AddToSetsByID

func (o *User) AddToSetsByID(setids []string) error

AddToSetsByID add database into Sets

func (*User) AddToSetsByName

func (o *User) AddToSetsByName(sets []string) error

AddToSetsByName add database into Sets

func (*User) ChangePassword

func (o *User) ChangePassword() (*restapi.BoolResponse, error)

ChangePassword function changes user's password

func (*User) ChangeUserPassword

func (o *User) ChangeUserPassword(pw string) error

ChangeUserPassword sets new password for a user

func (*User) Create

func (o *User) Create() (*restapi.StringResponse, error)

Create function creates a new user and returns a map that contains creation result

func (*User) Delete

func (o *User) Delete() (*restapi.GenericMapResponse, error)

Delete function deletes a user and returns a map that contains deletion result

func (*User) DeleteByName

func (o *User) DeleteByName() (*restapi.GenericMapResponse, error)

DeleteByName deletes a Centrify Directory user by username

func (*User) FillStruct

func (o *User) FillStruct(m map[string]interface{}) error

FillStruct function fills a struct with map

func (*User) GetByName

func (o *User) GetByName() error

GetByName retrieves user from tenant by name

func (*User) GetIDByName

func (o *User) GetIDByName() (string, error)

GetIDByName returns user ID by name

func (*User) Query

func (o *User) Query() (map[string]interface{}, error)

Query function returns a single user object in map format

func (*User) Read

func (o *User) Read() error

Read function fetches a user from source, including attribute values. Returns error if any

func (*User) SetPermissions

func (o *User) SetPermissions(isRemove bool) (*restapi.BaseAPIResponse, error)

SetPermissions sets permissions. isRemove indicates whether to remove all permissions instead of setting permissions

func (*User) Update

func (o *User) Update() (*restapi.GenericMapResponse, error)

Update function updates a existing user and returns a map that contains update result

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL