models

package
v1.4.0 Latest Latest
Warning

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

Go to latest
Published: Sep 3, 2025 License: Apache-2.0 Imports: 2 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DelegationClassificationUnrestricted = "Unrestricted"
	DelegationClassificationRestricted   = "Restricted"
)

Possible values for DelegationClassification

View Source
const (
	ArkUAPFilterOperatorEQ       = "eq"
	ArkUAPFilterOperatorContains = "contains"
	ArkUAPFilterOperatorOR       = "or"
	ArkUAPFilterOperatorAND      = "and"
)

Possible ArkUAPFilterOperator

View Source
const (
	PolicyTypeRecurring = "Recurring"
	PolicyTypeOnDemand  = "OnDemand"
)

Possible values for PolicyType

View Source
const (
	StatusTypeActive     = "Active"
	StatusTypeSuspended  = "Suspended"
	StatusTypeExpired    = "Expired"
	StatusTypeValidating = "Validating"
	StatusTypeError      = "Error"
)

ArkUAPPolicyStatus defines the possible status types for a policy in UAP.

View Source
const (
	PrincipalTypeUser  = "USER"
	PrincipalTypeRole  = "ROLE"
	PrincipalTypeGroup = "GROUP"
)

Possible types of principals in UAP.

View Source
const (
	ArkUAPDefaultLimitSize = 50
)

ArkUAPDefaultLimitSize defines the default limit size for UAP access policies.

Variables

This section is empty.

Functions

This section is empty.

Types

type ArkUAPChangeInfo

type ArkUAPChangeInfo struct {
	User string `` /* 146-byte string literal not displayed */
	Time string `json:"time,omitempty" mapstructure:"time,omitempty" flag:"time" desc:"Time of the change"`
}

ArkUAPChangeInfo represents the change information in UAP.

type ArkUAPCommonAccessPolicy

type ArkUAPCommonAccessPolicy struct {
	Metadata                 ArkUAPMetadata    `` /* 128-byte string literal not displayed */
	Principals               []ArkUAPPrincipal `` /* 147-byte string literal not displayed */
	DelegationClassification string            `` /* 219-byte string literal not displayed */
}

ArkUAPCommonAccessPolicy represents the access policy in UAP.

type ArkUAPConditions

type ArkUAPConditions struct {
	AccessWindow       ArkUAPTimeCondition `` /* 132-byte string literal not displayed */
	MaxSessionDuration int                 `` /* 149-byte string literal not displayed */
}

ArkUAPConditions represents the conditions for UAP policies.

type ArkUAPDeletePolicyRequest

type ArkUAPDeletePolicyRequest struct {
	PolicyID string `json:"policy_id" mapstructure:"policy_id" flag:"policy-id" desc:"Policy id to be deleted"`
}

ArkUAPDeletePolicyRequest represents the request to delete a policy in UAP.

type ArkUAPFilters

type ArkUAPFilters struct {
	LocationType         []string `` /* 144-byte string literal not displayed */
	TargetCategory       []string `` /* 153-byte string literal not displayed */
	PolicyType           []string `` /* 136-byte string literal not displayed */
	PolicyTags           []string `` /* 135-byte string literal not displayed */
	Identities           []string `` /* 133-byte string literal not displayed */
	Status               []string `json:"status,omitempty" mapstructure:"status,omitempty" flag:"status" desc:"List of wanted policy statuses for the policies"`
	TextSearch           string   `` /* 158-byte string literal not displayed */
	ShowEditablePolicies bool     `` /* 180-byte string literal not displayed */
	MaxPages             int      `` /* 146-byte string literal not displayed */
}

ArkUAPFilters represents the filters for UAP policies.

func NewArkUAPFilters

func NewArkUAPFilters() *ArkUAPFilters

NewArkUAPFilters initializes a new instance of ArkUAPFilters with default values.

func (*ArkUAPFilters) BuildFilterQueryFromFilters

func (filters *ArkUAPFilters) BuildFilterQueryFromFilters() string

BuildFilterQueryFromFilters constructs a filter query string from the provided filters.

type ArkUAPGetAccessPoliciesRequest

type ArkUAPGetAccessPoliciesRequest struct {
	Filters   *ArkUAPFilters `json:"filters,omitempty" mapstructure:"filters,omitempty" flag:"filters" desc:"The filter query to apply on the policies"`
	Limit     int            `json:"limit" mapstructure:"limit" flag:"limit" desc:"The maximum number of policies to return in the response" default:"50"`
	NextToken string         `json:"next_token,omitempty" mapstructure:"next_token,omitempty" flag:"next-token" desc:"The next token for pagination"`
}

ArkUAPGetAccessPoliciesRequest represents the request to get access policies.

func (*ArkUAPGetAccessPoliciesRequest) BuildGetQueryParams

func (request *ArkUAPGetAccessPoliciesRequest) BuildGetQueryParams() ArkUAPGetQueryParams

BuildGetQueryParams constructs the query parameters for retrieving access policies.

type ArkUAPGetPolicyByNameRequest

type ArkUAPGetPolicyByNameRequest struct {
	PolicyName string `json:"policy_name" mapstructure:"policy_name" flag:"policy-name" desc:"Policy name to be retrieved"`
}

ArkUAPGetPolicyByNameRequest represents the request to get a policy by its name.

type ArkUAPGetPolicyRequest

type ArkUAPGetPolicyRequest struct {
	PolicyID string `json:"policy_id" mapstructure:"policy_id" flag:"policy-id" desc:"Policy id to be retrieved"`
}

ArkUAPGetPolicyRequest represents the request to get a policy by its ID.

type ArkUAPGetPolicyStatus

type ArkUAPGetPolicyStatus struct {
	PolicyID   string `json:"policy_id,omitempty" mapstructure:"policy_id,omitempty" flag:"policy-id" desc:"Policy id to get the status for"`
	PolicyName string `json:"policy_name,omitempty" mapstructure:"policy_name,omitempty" flag:"policy-name" desc:"Policy name to get the status for"`
}

ArkUAPGetPolicyStatus represents the request to get the status of a policy by its ID or name.

type ArkUAPGetQueryParams

type ArkUAPGetQueryParams struct {
	Filter               string `json:"filter,omitempty" mapstructure:"filter,omitempty" flag:"filter" desc:"The filter query to apply on the policies"`
	ShowEditablePolicies bool   `` /* 147-byte string literal not displayed */
	Q                    string `json:"q,omitempty" mapstructure:"q,omitempty" flag:"q" desc:"Free text search on policy name or description"`
	NextToken            string `json:"next_token,omitempty" mapstructure:"next_token,omitempty" flag:"next-token" desc:"The next token for pagination"`
	Limit                int    `json:"limit" mapstructure:"limit" flag:"limit" desc:"The maximum number of policies to return in the response"`
}

ArkUAPGetQueryParams represents the query parameters for retrieving access policies.

type ArkUAPMetadata

type ArkUAPMetadata struct {
	PolicyID          string                  `json:"policy_id,omitempty" mapstructure:"policy_id,omitempty" flag:"policy-id" desc:"Policy id" validate:"max=99"`
	Name              string                  `json:"name" validate:"required,min=1,max=200" mapstructure:"name" flag:"name" desc:"Name of the policy"`
	Description       string                  `` /* 136-byte string literal not displayed */
	Status            ArkUAPPolicyStatus      `json:"status" mapstructure:"status" flag:"status" desc:"Status of the policy"`
	TimeFrame         ArkUAPTimeFrame         `json:"time_frame,omitempty" mapstructure:"time_frame,omitempty" flag:"time-frame" desc:"The time that the policy is active"`
	PolicyEntitlement ArkUAPPolicyEntitlement `` /* 150-byte string literal not displayed */
	CreatedBy         ArkUAPChangeInfo        `` /* 143-byte string literal not displayed */
	UpdatedOn         ArkUAPChangeInfo        `` /* 141-byte string literal not displayed */
	PolicyTags        []string                `` /* 129-byte string literal not displayed */
	TimeZone          string                  `` /* 155-byte string literal not displayed */
}

ArkUAPMetadata represents metadata for a policy.

func (*ArkUAPMetadata) EncodeDescription

func (metadata *ArkUAPMetadata) EncodeDescription(description string) string

EncodeDescription escapes HTML characters in the Description field.

func (*ArkUAPMetadata) EncodeName

func (metadata *ArkUAPMetadata) EncodeName(name string) string

EncodeName escapes HTML characters in the Name field.

func (*ArkUAPMetadata) FilterNonePolicyTags

func (metadata *ArkUAPMetadata) FilterNonePolicyTags(tags []string) []string

FilterNonePolicyTags filters out `nil` values from the PolicyTags field.

type ArkUAPPoliciesStats

type ArkUAPPoliciesStats struct {
	PoliciesCount            int            `json:"policies_count" mapstructure:"policies_count" flag:"policies-count" desc:"Overall count of policies"`
	PoliciesCountPerStatus   map[string]int `` /* 139-byte string literal not displayed */
	PoliciesCountPerProvider map[string]int `` /* 154-byte string literal not displayed */
}

ArkUAPPoliciesStats represents statistics about policies.

type ArkUAPPolicyEntitlement

type ArkUAPPolicyEntitlement struct {
	TargetCategory string `` /* 147-byte string literal not displayed */
	LocationType   string `` /* 141-byte string literal not displayed */
	PolicyType     string `` /* 132-byte string literal not displayed */
}

ArkUAPPolicyEntitlement represents the entitlement details of a policy.

type ArkUAPPolicyResultsResponse

type ArkUAPPolicyResultsResponse struct {
	Results   []ArkUAPCommonAccessPolicy `json:"results" mapstructure:"results" desc:"List of policies"`
	NextToken string                     `json:"next_token,omitempty" mapstructure:"next_token,omitempty" desc:"Token for the next page of results"`
	Total     int                        `json:"total" mapstructure:"total" desc:"Total number of policies available"`
}

ArkUAPPolicyResultsResponse represents the response containing policy results.

type ArkUAPPolicyStatus

type ArkUAPPolicyStatus struct {
	Status            string `` /* 163-byte string literal not displayed */
	StatusCode        string `` /* 140-byte string literal not displayed */
	StatusDescription string `` /* 169-byte string literal not displayed */
	Link              string `` /* 132-byte string literal not displayed */
}

ArkUAPPolicyStatus represents the status details of a policy.

type ArkUAPPrincipal

type ArkUAPPrincipal struct {
	ID                  string `json:"id" mapstructure:"id" flag:"id" desc:"The id of the principal" validate:"max=40"`
	Name                string `json:"name" mapstructure:"name" flag:"name" desc:"The name of the principal" validate:"max=100,regexp=^\\w+$"`
	SourceDirectoryName string `` /* 186-byte string literal not displayed */
	SourceDirectoryID   string `` /* 146-byte string literal not displayed */
	Type                string `json:"type" mapstructure:"type" flag:"type" desc:"The type of the principal user, group or role" choices:"USER,ROLE,GROUP"`
}

ArkUAPPrincipal represents a principal in UAP.

type ArkUAPResponse

type ArkUAPResponse struct {
	PolicyID string `json:"policy_id" mapstructure:"policy_id" flag:"policy-id" desc:"Policy id"`
}

ArkUAPResponse represents the response containing a policy ID.

type ArkUAPTimeCondition

type ArkUAPTimeCondition struct {
	DaysOfTheWeek []int  `` /* 173-byte string literal not displayed */
	FromHour      string `` /* 146-byte string literal not displayed */
	ToHour        string `` /* 138-byte string literal not displayed */
}

ArkUAPTimeCondition represents the time conditions for a policy.

type ArkUAPTimeFrame

type ArkUAPTimeFrame struct {
	FromTime string `json:"from_time,omitempty" mapstructure:"from_time,omitempty" flag:"from-time" desc:"Time from which the policy is effective"`
	ToTime   string `json:"to_time,omitempty" mapstructure:"to_time,omitempty" flag:"to-time" desc:"Time to which the policy is expired"`
}

ArkUAPTimeFrame represents the time frame for a policy.

Jump to

Keyboard shortcuts

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