iam

package
v1.0.0-beta.14 Latest Latest
Warning

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

Go to latest
Published: Mar 7, 2023 License: Apache-2.0 Imports: 13 Imported by: 7

Documentation

Overview

Package iam provides methods and message types of the iam v1alpha1 API.

Index

Constants

View Source
const (
	BearerTypeUnknownBearerType = BearerType("unknown_bearer_type")
	BearerTypeUser              = BearerType("user")
	BearerTypeApplication       = BearerType("application")
)
View Source
const (
	ListAPIKeysRequestOrderByCreatedAtAsc  = ListAPIKeysRequestOrderBy("created_at_asc")
	ListAPIKeysRequestOrderByCreatedAtDesc = ListAPIKeysRequestOrderBy("created_at_desc")
	ListAPIKeysRequestOrderByUpdatedAtAsc  = ListAPIKeysRequestOrderBy("updated_at_asc")
	ListAPIKeysRequestOrderByUpdatedAtDesc = ListAPIKeysRequestOrderBy("updated_at_desc")
	ListAPIKeysRequestOrderByExpiresAtAsc  = ListAPIKeysRequestOrderBy("expires_at_asc")
	ListAPIKeysRequestOrderByExpiresAtDesc = ListAPIKeysRequestOrderBy("expires_at_desc")
	ListAPIKeysRequestOrderByAccessKeyAsc  = ListAPIKeysRequestOrderBy("access_key_asc")
	ListAPIKeysRequestOrderByAccessKeyDesc = ListAPIKeysRequestOrderBy("access_key_desc")
)
View Source
const (
	ListApplicationsRequestOrderByCreatedAtAsc  = ListApplicationsRequestOrderBy("created_at_asc")
	ListApplicationsRequestOrderByCreatedAtDesc = ListApplicationsRequestOrderBy("created_at_desc")
	ListApplicationsRequestOrderByUpdatedAtAsc  = ListApplicationsRequestOrderBy("updated_at_asc")
	ListApplicationsRequestOrderByUpdatedAtDesc = ListApplicationsRequestOrderBy("updated_at_desc")
	ListApplicationsRequestOrderByNameAsc       = ListApplicationsRequestOrderBy("name_asc")
	ListApplicationsRequestOrderByNameDesc      = ListApplicationsRequestOrderBy("name_desc")
)
View Source
const (
	ListGroupsRequestOrderByCreatedAtAsc  = ListGroupsRequestOrderBy("created_at_asc")
	ListGroupsRequestOrderByCreatedAtDesc = ListGroupsRequestOrderBy("created_at_desc")
	ListGroupsRequestOrderByUpdatedAtAsc  = ListGroupsRequestOrderBy("updated_at_asc")
	ListGroupsRequestOrderByUpdatedAtDesc = ListGroupsRequestOrderBy("updated_at_desc")
	ListGroupsRequestOrderByNameAsc       = ListGroupsRequestOrderBy("name_asc")
	ListGroupsRequestOrderByNameDesc      = ListGroupsRequestOrderBy("name_desc")
)
View Source
const (
	ListJWTsRequestOrderByCreatedAtAsc  = ListJWTsRequestOrderBy("created_at_asc")
	ListJWTsRequestOrderByCreatedAtDesc = ListJWTsRequestOrderBy("created_at_desc")
	ListJWTsRequestOrderByUpdatedAtAsc  = ListJWTsRequestOrderBy("updated_at_asc")
	ListJWTsRequestOrderByUpdatedAtDesc = ListJWTsRequestOrderBy("updated_at_desc")
)
View Source
const (
	ListPermissionSetsRequestOrderByNameAsc       = ListPermissionSetsRequestOrderBy("name_asc")
	ListPermissionSetsRequestOrderByNameDesc      = ListPermissionSetsRequestOrderBy("name_desc")
	ListPermissionSetsRequestOrderByCreatedAtAsc  = ListPermissionSetsRequestOrderBy("created_at_asc")
	ListPermissionSetsRequestOrderByCreatedAtDesc = ListPermissionSetsRequestOrderBy("created_at_desc")
)
View Source
const (
	ListPoliciesRequestOrderByPolicyNameAsc  = ListPoliciesRequestOrderBy("policy_name_asc")
	ListPoliciesRequestOrderByPolicyNameDesc = ListPoliciesRequestOrderBy("policy_name_desc")
	ListPoliciesRequestOrderByCreatedAtAsc   = ListPoliciesRequestOrderBy("created_at_asc")
	ListPoliciesRequestOrderByCreatedAtDesc  = ListPoliciesRequestOrderBy("created_at_desc")
)
View Source
const (
	ListQuotaRequestOrderByNameAsc  = ListQuotaRequestOrderBy("name_asc")
	ListQuotaRequestOrderByNameDesc = ListQuotaRequestOrderBy("name_desc")
)
View Source
const (
	ListSSHKeysRequestOrderByCreatedAtAsc  = ListSSHKeysRequestOrderBy("created_at_asc")
	ListSSHKeysRequestOrderByCreatedAtDesc = ListSSHKeysRequestOrderBy("created_at_desc")
	ListSSHKeysRequestOrderByUpdatedAtAsc  = ListSSHKeysRequestOrderBy("updated_at_asc")
	ListSSHKeysRequestOrderByUpdatedAtDesc = ListSSHKeysRequestOrderBy("updated_at_desc")
	ListSSHKeysRequestOrderByNameAsc       = ListSSHKeysRequestOrderBy("name_asc")
	ListSSHKeysRequestOrderByNameDesc      = ListSSHKeysRequestOrderBy("name_desc")
)
View Source
const (
	ListUsersRequestOrderByCreatedAtAsc  = ListUsersRequestOrderBy("created_at_asc")
	ListUsersRequestOrderByCreatedAtDesc = ListUsersRequestOrderBy("created_at_desc")
	ListUsersRequestOrderByUpdatedAtAsc  = ListUsersRequestOrderBy("updated_at_asc")
	ListUsersRequestOrderByUpdatedAtDesc = ListUsersRequestOrderBy("updated_at_desc")
	ListUsersRequestOrderByEmailAsc      = ListUsersRequestOrderBy("email_asc")
	ListUsersRequestOrderByEmailDesc     = ListUsersRequestOrderBy("email_desc")
	ListUsersRequestOrderByLastLoginAsc  = ListUsersRequestOrderBy("last_login_asc")
	ListUsersRequestOrderByLastLoginDesc = ListUsersRequestOrderBy("last_login_desc")
)
View Source
const (
	PermissionSetScopeTypeUnknownScopeType = PermissionSetScopeType("unknown_scope_type")
	PermissionSetScopeTypeProjects         = PermissionSetScopeType("projects")
	PermissionSetScopeTypeOrganization     = PermissionSetScopeType("organization")
	PermissionSetScopeTypeAccountRootUser  = PermissionSetScopeType("account_root_user")
)
View Source
const (
	UserStatusUnknownStatus     = UserStatus("unknown_status")
	UserStatusInvitationPending = UserStatus("invitation_pending")
	UserStatusActivated         = UserStatus("activated")
)
View Source
const (
	UserTypeUnknownType = UserType("unknown_type")
	UserTypeGuest       = UserType("guest")
	UserTypeOwner       = UserType("owner")
)

Variables

This section is empty.

Functions

This section is empty.

Types

type API

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

API: iAM API.

func NewAPI

func NewAPI(client *scw.Client) *API

NewAPI returns a API object from a Scaleway client.

func (*API) AddGroupMember

func (s *API) AddGroupMember(req *AddGroupMemberRequest, opts ...scw.RequestOption) (*Group, error)

AddGroupMember: add a user of an application to a group.

func (*API) ClonePolicy

func (s *API) ClonePolicy(req *ClonePolicyRequest, opts ...scw.RequestOption) (*Policy, error)

func (*API) CreateAPIKey

func (s *API) CreateAPIKey(req *CreateAPIKeyRequest, opts ...scw.RequestOption) (*APIKey, error)

CreateAPIKey: create an API key.

func (*API) CreateApplication

func (s *API) CreateApplication(req *CreateApplicationRequest, opts ...scw.RequestOption) (*Application, error)

CreateApplication: create a new application.

func (*API) CreateGroup

func (s *API) CreateGroup(req *CreateGroupRequest, opts ...scw.RequestOption) (*Group, error)

CreateGroup: create a new group.

func (*API) CreatePolicy

func (s *API) CreatePolicy(req *CreatePolicyRequest, opts ...scw.RequestOption) (*Policy, error)

CreatePolicy: create a new policy.

func (*API) CreateSSHKey

func (s *API) CreateSSHKey(req *CreateSSHKeyRequest, opts ...scw.RequestOption) (*SSHKey, error)

CreateSSHKey: create an SSH key.

func (*API) DeleteAPIKey

func (s *API) DeleteAPIKey(req *DeleteAPIKeyRequest, opts ...scw.RequestOption) error

DeleteAPIKey: delete an API key.

func (*API) DeleteApplication

func (s *API) DeleteApplication(req *DeleteApplicationRequest, opts ...scw.RequestOption) error

DeleteApplication: delete an application.

func (*API) DeleteGroup

func (s *API) DeleteGroup(req *DeleteGroupRequest, opts ...scw.RequestOption) error

DeleteGroup: delete a group.

func (*API) DeleteJWT

func (s *API) DeleteJWT(req *DeleteJWTRequest, opts ...scw.RequestOption) error

DeleteJWT: delete a JWT.

func (*API) DeletePolicy

func (s *API) DeletePolicy(req *DeletePolicyRequest, opts ...scw.RequestOption) error

DeletePolicy: delete a policy.

func (*API) DeleteSSHKey

func (s *API) DeleteSSHKey(req *DeleteSSHKeyRequest, opts ...scw.RequestOption) error

DeleteSSHKey: delete an SSH key.

func (*API) DeleteUser

func (s *API) DeleteUser(req *DeleteUserRequest, opts ...scw.RequestOption) error

DeleteUser: delete a guest user from an organization.

func (*API) GetAPIKey

func (s *API) GetAPIKey(req *GetAPIKeyRequest, opts ...scw.RequestOption) (*APIKey, error)

GetAPIKey: get an API key.

func (*API) GetApplication

func (s *API) GetApplication(req *GetApplicationRequest, opts ...scw.RequestOption) (*Application, error)

GetApplication: get an existing application.

func (*API) GetGroup

func (s *API) GetGroup(req *GetGroupRequest, opts ...scw.RequestOption) (*Group, error)

GetGroup: get a group.

func (*API) GetJWT

func (s *API) GetJWT(req *GetJWTRequest, opts ...scw.RequestOption) (*JWT, error)

GetJWT: get a JWT.

func (*API) GetPolicy

func (s *API) GetPolicy(req *GetPolicyRequest, opts ...scw.RequestOption) (*Policy, error)

GetPolicy: get an existing policy.

func (*API) GetQuotum

func (s *API) GetQuotum(req *GetQuotumRequest, opts ...scw.RequestOption) (*Quotum, error)

GetQuotum: get a quotum in the organization with the associated limit.

func (*API) GetSSHKey

func (s *API) GetSSHKey(req *GetSSHKeyRequest, opts ...scw.RequestOption) (*SSHKey, error)

GetSSHKey: get an SSH key.

func (*API) GetUser

func (s *API) GetUser(req *GetUserRequest, opts ...scw.RequestOption) (*User, error)

GetUser: retrieve a user from its ID.

func (*API) ListAPIKeys

func (s *API) ListAPIKeys(req *ListAPIKeysRequest, opts ...scw.RequestOption) (*ListAPIKeysResponse, error)

ListAPIKeys: list API keys.

func (*API) ListApplications

func (s *API) ListApplications(req *ListApplicationsRequest, opts ...scw.RequestOption) (*ListApplicationsResponse, error)

ListApplications: list applications of an organization.

func (*API) ListGroups

func (s *API) ListGroups(req *ListGroupsRequest, opts ...scw.RequestOption) (*ListGroupsResponse, error)

ListGroups: list groups.

func (*API) ListJWTs

func (s *API) ListJWTs(req *ListJWTsRequest, opts ...scw.RequestOption) (*ListJWTsResponse, error)

ListJWTs: list JWTs.

func (*API) ListPermissionSets

func (s *API) ListPermissionSets(req *ListPermissionSetsRequest, opts ...scw.RequestOption) (*ListPermissionSetsResponse, error)

ListPermissionSets: list permission sets.

func (*API) ListPolicies

func (s *API) ListPolicies(req *ListPoliciesRequest, opts ...scw.RequestOption) (*ListPoliciesResponse, error)

ListPolicies: list policies of an organization.

func (*API) ListQuota

func (s *API) ListQuota(req *ListQuotaRequest, opts ...scw.RequestOption) (*ListQuotaResponse, error)

ListQuota: list all quota in the organization with the associated limit.

func (*API) ListRules

func (s *API) ListRules(req *ListRulesRequest, opts ...scw.RequestOption) (*ListRulesResponse, error)

ListRules: list rules of an existing policy.

func (*API) ListSSHKeys

func (s *API) ListSSHKeys(req *ListSSHKeysRequest, opts ...scw.RequestOption) (*ListSSHKeysResponse, error)

ListSSHKeys: list SSH keys.

func (*API) ListUsers

func (s *API) ListUsers(req *ListUsersRequest, opts ...scw.RequestOption) (*ListUsersResponse, error)

ListUsers: list users of an organization.

func (*API) RemoveGroupMember

func (s *API) RemoveGroupMember(req *RemoveGroupMemberRequest, opts ...scw.RequestOption) (*Group, error)

RemoveGroupMember: remove a user or an application from a group.

func (*API) SetGroupMembers

func (s *API) SetGroupMembers(req *SetGroupMembersRequest, opts ...scw.RequestOption) (*Group, error)

SetGroupMembers: overwrite users and applications of a group.

func (*API) SetRules

func (s *API) SetRules(req *SetRulesRequest, opts ...scw.RequestOption) (*SetRulesResponse, error)

SetRules: set rules of an existing policy.

func (*API) UpdateAPIKey

func (s *API) UpdateAPIKey(req *UpdateAPIKeyRequest, opts ...scw.RequestOption) (*APIKey, error)

UpdateAPIKey: update an API key.

func (*API) UpdateApplication

func (s *API) UpdateApplication(req *UpdateApplicationRequest, opts ...scw.RequestOption) (*Application, error)

UpdateApplication: update an existing application.

func (*API) UpdateGroup

func (s *API) UpdateGroup(req *UpdateGroupRequest, opts ...scw.RequestOption) (*Group, error)

UpdateGroup: update a group.

func (*API) UpdatePolicy

func (s *API) UpdatePolicy(req *UpdatePolicyRequest, opts ...scw.RequestOption) (*Policy, error)

UpdatePolicy: update an existing policy.

func (*API) UpdateSSHKey

func (s *API) UpdateSSHKey(req *UpdateSSHKeyRequest, opts ...scw.RequestOption) (*SSHKey, error)

UpdateSSHKey: update an SSH key.

type APIKey

type APIKey struct {
	// AccessKey: access key of API key.
	AccessKey string `json:"access_key"`
	// SecretKey: secret key of API Key.
	SecretKey *string `json:"secret_key"`
	// ApplicationID: ID of application bearer.
	// Precisely one of ApplicationID, UserID must be set.
	ApplicationID *string `json:"application_id,omitempty"`
	// UserID: ID of user bearer.
	// Precisely one of ApplicationID, UserID must be set.
	UserID *string `json:"user_id,omitempty"`
	// Description: description of API key.
	Description string `json:"description"`
	// CreatedAt: creation date and time of API key.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: last update date and time of API key.
	UpdatedAt *time.Time `json:"updated_at"`
	// ExpiresAt: expiration date and time of API key.
	ExpiresAt *time.Time `json:"expires_at"`
	// DefaultProjectID: the default project ID specified for this API key.
	DefaultProjectID string `json:"default_project_id"`
	// Editable: whether or not the API key is editable.
	Editable bool `json:"editable"`
	// CreationIP: IP Address of the device which created the API key.
	CreationIP string `json:"creation_ip"`
}

APIKey: api key.

type AddGroupMemberRequest

type AddGroupMemberRequest struct {
	// GroupID: ID of group.
	GroupID string `json:"-"`
	// UserID: ID of the user to add.
	// Precisely one of ApplicationID, UserID must be set.
	UserID *string `json:"user_id,omitempty"`
	// ApplicationID: ID of the application to add.
	// Precisely one of ApplicationID, UserID must be set.
	ApplicationID *string `json:"application_id,omitempty"`
}

type Application

type Application struct {
	// ID: ID of application.
	ID string `json:"id"`
	// Name: name of application.
	Name string `json:"name"`
	// Description: description of the application.
	Description string `json:"description"`
	// CreatedAt: creation date of application.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: last update date of application.
	UpdatedAt *time.Time `json:"updated_at"`
	// OrganizationID: ID of organization.
	OrganizationID string `json:"organization_id"`
	// Editable: whether or not the application is editable.
	Editable bool `json:"editable"`
	// NbAPIKeys: number of API keys owned by the application.
	NbAPIKeys uint32 `json:"nb_api_keys"`
}

Application: application.

type BearerType

type BearerType string

func (BearerType) MarshalJSON

func (enum BearerType) MarshalJSON() ([]byte, error)

func (BearerType) String

func (enum BearerType) String() string

func (*BearerType) UnmarshalJSON

func (enum *BearerType) UnmarshalJSON(data []byte) error

type ClonePolicyRequest

type ClonePolicyRequest struct {
	PolicyID string `json:"-"`
}

type CreateAPIKeyRequest

type CreateAPIKeyRequest struct {
	// ApplicationID: ID of application principal.
	// Precisely one of ApplicationID, UserID must be set.
	ApplicationID *string `json:"application_id,omitempty"`
	// UserID: ID of user principal.
	// Precisely one of ApplicationID, UserID must be set.
	UserID *string `json:"user_id,omitempty"`
	// ExpiresAt: expiration date of the API key.
	ExpiresAt *time.Time `json:"expires_at"`
	// DefaultProjectID: the default project ID to use with object storage.
	DefaultProjectID *string `json:"default_project_id"`
	// Description: the description of the API key (max length is 200 chars).
	Description string `json:"description"`
}

type CreateApplicationRequest

type CreateApplicationRequest struct {
	// Name: name of application to create (max length is 64 chars).
	Name string `json:"name"`
	// OrganizationID: ID of organization.
	OrganizationID string `json:"organization_id"`
	// Description: description of application (max length is 200 chars).
	Description string `json:"description"`
}

type CreateGroupRequest

type CreateGroupRequest struct {
	// OrganizationID: ID of organization linked to the group.
	OrganizationID string `json:"organization_id"`
	// Name: name of the group to create (max length is 64 chars). MUST be unique inside an organization.
	Name string `json:"name"`
	// Description: description of the group to create (max length is 200 chars).
	Description string `json:"description"`
}

type CreatePolicyRequest

type CreatePolicyRequest struct {
	// Name: name of policy to create (max length is 64 chars).
	Name string `json:"name"`
	// Description: description of policy to create (max length is 200 chars).
	Description string `json:"description"`
	// OrganizationID: ID of organization.
	OrganizationID string `json:"organization_id"`
	// Rules: rules of the policy to create.
	Rules []*RuleSpecs `json:"rules"`
	// UserID: ID of user, owner of the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	UserID *string `json:"user_id,omitempty"`
	// GroupID: ID of group, owner of the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	GroupID *string `json:"group_id,omitempty"`
	// ApplicationID: ID of application, owner of the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	ApplicationID *string `json:"application_id,omitempty"`
	// NoPrincipal: true when the policy do not belong to any principal.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	NoPrincipal *bool `json:"no_principal,omitempty"`
}

type CreateSSHKeyRequest

type CreateSSHKeyRequest struct {
	// Name: the name of the SSH key. Max length is 1000.
	Name string `json:"name"`
	// PublicKey: SSH public key. Currently ssh-rsa, ssh-dss (DSA), ssh-ed25519 and ecdsa keys with NIST curves are supported. Max length is 65000.
	PublicKey string `json:"public_key"`
	// ProjectID: project owning the resource.
	ProjectID string `json:"project_id"`
}

type DeleteAPIKeyRequest

type DeleteAPIKeyRequest struct {
	// AccessKey: access key to delete.
	AccessKey string `json:"-"`
}

type DeleteApplicationRequest

type DeleteApplicationRequest struct {
	// ApplicationID: ID of application to delete.
	ApplicationID string `json:"-"`
}

type DeleteGroupRequest

type DeleteGroupRequest struct {
	// GroupID: ID of group to delete.
	GroupID string `json:"-"`
}

type DeleteJWTRequest

type DeleteJWTRequest struct {
	// Jti: jWT ID of the JWT to delete.
	Jti string `json:"-"`
}

type DeletePolicyRequest

type DeletePolicyRequest struct {
	// PolicyID: id of policy to delete.
	PolicyID string `json:"-"`
}

type DeleteSSHKeyRequest

type DeleteSSHKeyRequest struct {
	SSHKeyID string `json:"-"`
}

type DeleteUserRequest

type DeleteUserRequest struct {
	// UserID: ID of user to delete.
	UserID string `json:"-"`
}

type GetAPIKeyRequest

type GetAPIKeyRequest struct {
	// AccessKey: access key to search for.
	AccessKey string `json:"-"`
}

type GetApplicationRequest

type GetApplicationRequest struct {
	// ApplicationID: ID of application to find.
	ApplicationID string `json:"-"`
}

type GetGroupRequest

type GetGroupRequest struct {
	// GroupID: ID of group.
	GroupID string `json:"-"`
}

type GetJWTRequest

type GetJWTRequest struct {
	// Jti: jWT ID of the JWT to get.
	Jti string `json:"-"`
}

type GetPolicyRequest

type GetPolicyRequest struct {
	// PolicyID: id of policy to search.
	PolicyID string `json:"-"`
}

type GetQuotumRequest

type GetQuotumRequest struct {
	// QuotumName: name of the quotum to get.
	QuotumName string `json:"-"`
	// OrganizationID: ID of the organization.
	OrganizationID string `json:"-"`
}

type GetSSHKeyRequest

type GetSSHKeyRequest struct {
	// SSHKeyID: the ID of the SSH key.
	SSHKeyID string `json:"-"`
}

type GetUserRequest

type GetUserRequest struct {
	// UserID: ID of user to find.
	UserID string `json:"-"`
}

type Group

type Group struct {
	// ID: ID of group.
	ID string `json:"id"`
	// CreatedAt: creation date and time of group.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: last update date and time of group.
	UpdatedAt *time.Time `json:"updated_at"`
	// OrganizationID: ID of organization linked to the group.
	OrganizationID string `json:"organization_id"`
	// Name: name of group.
	Name string `json:"name"`
	// Description: description of the group.
	Description string `json:"description"`
	// UserIDs: iDs of users attached to this group.
	UserIDs []string `json:"user_ids"`
	// ApplicationIDs: iDs of applications attached to this group.
	ApplicationIDs []string `json:"application_ids"`
}

Group: group.

type JWT

type JWT struct {
	// Jti: jWT ID.
	Jti string `json:"jti"`
	// IssuerID: ID of the user who issued the JWT.
	IssuerID string `json:"issuer_id"`
	// AudienceID: ID of the user targeted by the JWT.
	AudienceID string `json:"audience_id"`
	// CreatedAt: creation date of the JWT.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: last update date of the JWT.
	UpdatedAt *time.Time `json:"updated_at"`
	// ExpiresAt: expiration date of the JWT.
	ExpiresAt *time.Time `json:"expires_at"`
	// IP: IP address used during the creation of the JWT.
	IP net.IP `json:"ip"`
	// UserAgent: user-agent used during the creation of the JWT.
	UserAgent string `json:"user_agent"`
}

JWT: jwt.

type ListAPIKeysRequest

type ListAPIKeysRequest struct {
	// OrderBy: criteria for sorting results.
	// Default value: created_at_asc
	OrderBy ListAPIKeysRequestOrderBy `json:"-"`
	// Page: number of page. Value must be greater or equals to 1.
	// Default value: 1
	Page *int32 `json:"-"`
	// PageSize: number of results per page. Value must be between 1 and 100.
	// Default value: 20
	PageSize *uint32 `json:"-"`
	// OrganizationID: ID of organization.
	OrganizationID *string `json:"-"`
	// Deprecated: ApplicationID: ID of an application bearer.
	ApplicationID *string `json:"-"`
	// Deprecated: UserID: ID of a user bearer.
	UserID *string `json:"-"`
	// Editable: filter out editable API keys or not.
	Editable *bool `json:"-"`
	// Expired: filter out expired API keys or not.
	Expired *bool `json:"-"`
	// AccessKey: filter out by access key.
	AccessKey *string `json:"-"`
	// Description: filter out by description.
	Description *string `json:"-"`
	// BearerID: filter out by bearer ID.
	BearerID *string `json:"-"`
	// BearerType: filter out by type of bearer.
	// Default value: unknown_bearer_type
	BearerType BearerType `json:"-"`
}

type ListAPIKeysRequestOrderBy

type ListAPIKeysRequestOrderBy string

func (ListAPIKeysRequestOrderBy) MarshalJSON

func (enum ListAPIKeysRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListAPIKeysRequestOrderBy) String

func (enum ListAPIKeysRequestOrderBy) String() string

func (*ListAPIKeysRequestOrderBy) UnmarshalJSON

func (enum *ListAPIKeysRequestOrderBy) UnmarshalJSON(data []byte) error

type ListAPIKeysResponse

type ListAPIKeysResponse struct {
	// APIKeys: list of API keys.
	APIKeys []*APIKey `json:"api_keys"`
	// TotalCount: total count of API Keys.
	TotalCount uint32 `json:"total_count"`
}

ListAPIKeysResponse: list api keys response.

func (*ListAPIKeysResponse) UnsafeAppend

func (r *ListAPIKeysResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListAPIKeysResponse) UnsafeGetTotalCount

func (r *ListAPIKeysResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListApplicationsRequest

type ListApplicationsRequest struct {
	// OrderBy: criteria for sorting results.
	// Default value: created_at_asc
	OrderBy ListApplicationsRequestOrderBy `json:"-"`
	// PageSize: number of results per page. Value must be between 1 and 100.
	// Default value: 20
	PageSize *uint32 `json:"-"`
	// Page: number of page. Value must be greater to 1.
	// Default value: 1
	Page *int32 `json:"-"`
	// Name: name of application to filter.
	Name *string `json:"-"`
	// OrganizationID: ID of organization to filter.
	OrganizationID *string `json:"-"`
	// Editable: filter out editable applications or not.
	Editable *bool `json:"-"`
	// ApplicationIDs: filter out by a list of ID.
	ApplicationIDs []string `json:"-"`
}

type ListApplicationsRequestOrderBy

type ListApplicationsRequestOrderBy string

func (ListApplicationsRequestOrderBy) MarshalJSON

func (enum ListApplicationsRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListApplicationsRequestOrderBy) String

func (enum ListApplicationsRequestOrderBy) String() string

func (*ListApplicationsRequestOrderBy) UnmarshalJSON

func (enum *ListApplicationsRequestOrderBy) UnmarshalJSON(data []byte) error

type ListApplicationsResponse

type ListApplicationsResponse struct {
	// Applications: list of applications.
	Applications []*Application `json:"applications"`
	// TotalCount: total count of applications.
	TotalCount uint32 `json:"total_count"`
}

ListApplicationsResponse: list applications response.

func (*ListApplicationsResponse) UnsafeAppend

func (r *ListApplicationsResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListApplicationsResponse) UnsafeGetTotalCount

func (r *ListApplicationsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListGroupsRequest

type ListGroupsRequest struct {
	// OrderBy: sort order of groups.
	// Default value: created_at_asc
	OrderBy ListGroupsRequestOrderBy `json:"-"`
	// Page: requested page number. Value must be greater or equals to 1.
	// Default value: 1
	Page *int32 `json:"-"`
	// PageSize: number of items per page. Value must be between 1 and 100.
	// Default value: 20
	PageSize *uint32 `json:"-"`
	// OrganizationID: filter by organization ID.
	OrganizationID *string `json:"-"`
	// Name: name of group to find.
	Name *string `json:"-"`
	// ApplicationIDs: filter out by a list of application ID.
	ApplicationIDs []string `json:"-"`
	// UserIDs: filter out by a list of user ID.
	UserIDs []string `json:"-"`
	// GroupIDs: filter out by a list of group ID.
	GroupIDs []string `json:"-"`
}

type ListGroupsRequestOrderBy

type ListGroupsRequestOrderBy string

func (ListGroupsRequestOrderBy) MarshalJSON

func (enum ListGroupsRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListGroupsRequestOrderBy) String

func (enum ListGroupsRequestOrderBy) String() string

func (*ListGroupsRequestOrderBy) UnmarshalJSON

func (enum *ListGroupsRequestOrderBy) UnmarshalJSON(data []byte) error

type ListGroupsResponse

type ListGroupsResponse struct {
	// Groups: list of groups.
	Groups []*Group `json:"groups"`
	// TotalCount: total count of groups.
	TotalCount uint32 `json:"total_count"`
}

ListGroupsResponse: list groups response.

func (*ListGroupsResponse) UnsafeAppend

func (r *ListGroupsResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListGroupsResponse) UnsafeGetTotalCount

func (r *ListGroupsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListJWTsRequest

type ListJWTsRequest struct {
	// OrderBy: criteria for sorting results.
	// Default value: created_at_asc
	OrderBy ListJWTsRequestOrderBy `json:"-"`
	// AudienceID: ID of the user to search.
	AudienceID *string `json:"-"`
	// PageSize: number of results per page. Value must be between 1 and 100.
	// Default value: 20
	PageSize *uint32 `json:"-"`
	// Page: number of page. Value must be greater to 1.
	// Default value: 1
	Page *int32 `json:"-"`
	// Expired: filter out expired JWTs or not.
	Expired *bool `json:"-"`
}

type ListJWTsRequestOrderBy

type ListJWTsRequestOrderBy string

func (ListJWTsRequestOrderBy) MarshalJSON

func (enum ListJWTsRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListJWTsRequestOrderBy) String

func (enum ListJWTsRequestOrderBy) String() string

func (*ListJWTsRequestOrderBy) UnmarshalJSON

func (enum *ListJWTsRequestOrderBy) UnmarshalJSON(data []byte) error

type ListJWTsResponse

type ListJWTsResponse struct {
	Jwts []*JWT `json:"jwts"`

	TotalCount uint64 `json:"total_count"`
}

func (*ListJWTsResponse) UnsafeAppend

func (r *ListJWTsResponse) UnsafeAppend(res interface{}) (uint64, error)

UnsafeAppend should not be used Internal usage only

func (*ListJWTsResponse) UnsafeGetTotalCount

func (r *ListJWTsResponse) UnsafeGetTotalCount() uint64

UnsafeGetTotalCount should not be used Internal usage only

type ListPermissionSetsRequest

type ListPermissionSetsRequest struct {
	// OrderBy: criteria for sorting results.
	// Default value: created_at_asc
	OrderBy ListPermissionSetsRequestOrderBy `json:"-"`
	// PageSize: number of results per page. Value must be between 1 and 100.
	// Default value: 20
	PageSize *uint32 `json:"-"`
	// Page: number of page. Value must be greater to 1.
	// Default value: 1
	Page *int32 `json:"-"`
	// OrganizationID: filter by organization ID.
	OrganizationID string `json:"-"`
}

type ListPermissionSetsRequestOrderBy

type ListPermissionSetsRequestOrderBy string

func (ListPermissionSetsRequestOrderBy) MarshalJSON

func (enum ListPermissionSetsRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListPermissionSetsRequestOrderBy) String

func (*ListPermissionSetsRequestOrderBy) UnmarshalJSON

func (enum *ListPermissionSetsRequestOrderBy) UnmarshalJSON(data []byte) error

type ListPermissionSetsResponse

type ListPermissionSetsResponse struct {
	// PermissionSets: list of permission sets.
	PermissionSets []*PermissionSet `json:"permission_sets"`
	// TotalCount: total count of permission sets.
	TotalCount uint32 `json:"total_count"`
}

ListPermissionSetsResponse: list permission sets response.

func (*ListPermissionSetsResponse) UnsafeAppend

func (r *ListPermissionSetsResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListPermissionSetsResponse) UnsafeGetTotalCount

func (r *ListPermissionSetsResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListPoliciesRequest

type ListPoliciesRequest struct {
	// OrderBy: criteria for sorting results.
	// Default value: created_at_asc
	OrderBy ListPoliciesRequestOrderBy `json:"-"`
	// PageSize: number of results per page. Value must be between 1 and 100.
	// Default value: 20
	PageSize *uint32 `json:"-"`
	// Page: number of page. Value must be greater to 1.
	// Default value: 1
	Page *int32 `json:"-"`
	// OrganizationID: ID of organization to filter.
	OrganizationID *string `json:"-"`
	// Editable: filter out editable policies or not.
	Editable *bool `json:"-"`
	// UserIDs: filter out by a list of user ID.
	UserIDs []string `json:"-"`
	// GroupIDs: filter out by a list of group ID.
	GroupIDs []string `json:"-"`
	// ApplicationIDs: filter out by a list of application ID.
	ApplicationIDs []string `json:"-"`
	// NoPrincipal: true when the policy do not belong to any principal.
	NoPrincipal *bool `json:"-"`
	// PolicyName: name of policy to fetch.
	PolicyName *string `json:"-"`
}

type ListPoliciesRequestOrderBy

type ListPoliciesRequestOrderBy string

func (ListPoliciesRequestOrderBy) MarshalJSON

func (enum ListPoliciesRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListPoliciesRequestOrderBy) String

func (enum ListPoliciesRequestOrderBy) String() string

func (*ListPoliciesRequestOrderBy) UnmarshalJSON

func (enum *ListPoliciesRequestOrderBy) UnmarshalJSON(data []byte) error

type ListPoliciesResponse

type ListPoliciesResponse struct {
	// Policies: list of policies.
	Policies []*Policy `json:"policies"`
	// TotalCount: total count of policies.
	TotalCount uint32 `json:"total_count"`
}

ListPoliciesResponse: list policies response.

func (*ListPoliciesResponse) UnsafeAppend

func (r *ListPoliciesResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListPoliciesResponse) UnsafeGetTotalCount

func (r *ListPoliciesResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListQuotaRequest

type ListQuotaRequest struct {
	// OrderBy: criteria for sorting results.
	// Default value: name_asc
	OrderBy ListQuotaRequestOrderBy `json:"-"`
	// PageSize: number of results per page. Value must be between 1 and 100.
	// Default value: 20
	PageSize *uint32 `json:"-"`
	// Page: number of page. Value must be greater to 1.
	// Default value: 1
	Page *int32 `json:"-"`
	// OrganizationID: filter by organization ID.
	OrganizationID string `json:"-"`
}

type ListQuotaRequestOrderBy

type ListQuotaRequestOrderBy string

func (ListQuotaRequestOrderBy) MarshalJSON

func (enum ListQuotaRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListQuotaRequestOrderBy) String

func (enum ListQuotaRequestOrderBy) String() string

func (*ListQuotaRequestOrderBy) UnmarshalJSON

func (enum *ListQuotaRequestOrderBy) UnmarshalJSON(data []byte) error

type ListQuotaResponse

type ListQuotaResponse struct {
	// Quota: list of quota.
	Quota []*Quotum `json:"quota"`
	// TotalCount: total count of quota.
	TotalCount uint64 `json:"total_count"`
}

ListQuotaResponse: list quota response.

func (*ListQuotaResponse) UnsafeAppend

func (r *ListQuotaResponse) UnsafeAppend(res interface{}) (uint64, error)

UnsafeAppend should not be used Internal usage only

func (*ListQuotaResponse) UnsafeGetTotalCount

func (r *ListQuotaResponse) UnsafeGetTotalCount() uint64

UnsafeGetTotalCount should not be used Internal usage only

type ListRulesRequest

type ListRulesRequest struct {
	// PolicyID: id of policy to search.
	PolicyID *string `json:"-"`
	// PageSize: number of results per page. Value must be between 1 and 100.
	// Default value: 20
	PageSize *uint32 `json:"-"`
	// Page: number of page. Value must be greater to 1.
	// Default value: 1
	Page *int32 `json:"-"`
}

type ListRulesResponse

type ListRulesResponse struct {
	// Rules: rules of the policy.
	Rules []*Rule `json:"rules"`
	// TotalCount: total count of rules.
	TotalCount uint32 `json:"total_count"`
}

ListRulesResponse: list rules response.

func (*ListRulesResponse) UnsafeAppend

func (r *ListRulesResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListRulesResponse) UnsafeGetTotalCount

func (r *ListRulesResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListSSHKeysRequest

type ListSSHKeysRequest struct {
	// OrderBy: sort order of SSH keys.
	// Default value: created_at_asc
	OrderBy ListSSHKeysRequestOrderBy `json:"-"`
	// Page: requested page number. Value must be greater or equals to 1.
	// Default value: 1
	Page *int32 `json:"-"`
	// PageSize: number of items per page. Value must be between 1 and 100.
	// Default value: 20
	PageSize *uint32 `json:"-"`
	// OrganizationID: filter by organization ID.
	OrganizationID *string `json:"-"`
	// Name: name of group to find.
	Name *string `json:"-"`
	// ProjectID: filter by project ID.
	ProjectID *string `json:"-"`
	// Disabled: filter out disabled SSH keys or not.
	Disabled *bool `json:"-"`
}

type ListSSHKeysRequestOrderBy

type ListSSHKeysRequestOrderBy string

func (ListSSHKeysRequestOrderBy) MarshalJSON

func (enum ListSSHKeysRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListSSHKeysRequestOrderBy) String

func (enum ListSSHKeysRequestOrderBy) String() string

func (*ListSSHKeysRequestOrderBy) UnmarshalJSON

func (enum *ListSSHKeysRequestOrderBy) UnmarshalJSON(data []byte) error

type ListSSHKeysResponse

type ListSSHKeysResponse struct {
	// SSHKeys: list of SSH keys.
	SSHKeys []*SSHKey `json:"ssh_keys"`
	// TotalCount: total count of SSH keys.
	TotalCount uint32 `json:"total_count"`
}

ListSSHKeysResponse: list ssh keys response.

func (*ListSSHKeysResponse) UnsafeAppend

func (r *ListSSHKeysResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListSSHKeysResponse) UnsafeGetTotalCount

func (r *ListSSHKeysResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type ListUsersRequest

type ListUsersRequest struct {
	// OrderBy: criteria for sorting results.
	// Default value: created_at_asc
	OrderBy ListUsersRequestOrderBy `json:"-"`
	// PageSize: number of results per page. Value must be between 1 and 100.
	// Default value: 20
	PageSize *uint32 `json:"-"`
	// Page: number of page. Value must be greater or equals to 1.
	// Default value: 1
	Page *int32 `json:"-"`
	// OrganizationID: ID of organization to filter.
	OrganizationID *string `json:"-"`
	// UserIDs: filter out by a list of ID.
	UserIDs []string `json:"-"`
}

type ListUsersRequestOrderBy

type ListUsersRequestOrderBy string

func (ListUsersRequestOrderBy) MarshalJSON

func (enum ListUsersRequestOrderBy) MarshalJSON() ([]byte, error)

func (ListUsersRequestOrderBy) String

func (enum ListUsersRequestOrderBy) String() string

func (*ListUsersRequestOrderBy) UnmarshalJSON

func (enum *ListUsersRequestOrderBy) UnmarshalJSON(data []byte) error

type ListUsersResponse

type ListUsersResponse struct {
	// Users: list of users.
	Users []*User `json:"users"`
	// TotalCount: total count of users.
	TotalCount uint32 `json:"total_count"`
}

ListUsersResponse: list users response.

func (*ListUsersResponse) UnsafeAppend

func (r *ListUsersResponse) UnsafeAppend(res interface{}) (uint32, error)

UnsafeAppend should not be used Internal usage only

func (*ListUsersResponse) UnsafeGetTotalCount

func (r *ListUsersResponse) UnsafeGetTotalCount() uint32

UnsafeGetTotalCount should not be used Internal usage only

type PermissionSet

type PermissionSet struct {
	// ID: id of permission set.
	ID string `json:"id"`
	// Name: name of permission set.
	Name string `json:"name"`
	// ScopeType: scope of permission set.
	// Default value: unknown_scope_type
	ScopeType PermissionSetScopeType `json:"scope_type"`
	// Description: description of permission set.
	Description string `json:"description"`
	// Categories: categories of permission set.
	Categories *[]string `json:"categories"`
}

PermissionSet: permission set.

type PermissionSetScopeType

type PermissionSetScopeType string

func (PermissionSetScopeType) MarshalJSON

func (enum PermissionSetScopeType) MarshalJSON() ([]byte, error)

func (PermissionSetScopeType) String

func (enum PermissionSetScopeType) String() string

func (*PermissionSetScopeType) UnmarshalJSON

func (enum *PermissionSetScopeType) UnmarshalJSON(data []byte) error

type Policy

type Policy struct {
	// ID: id of policy.
	ID string `json:"id"`
	// Name: name of policy.
	Name string `json:"name"`
	// Description: description of policy.
	Description string `json:"description"`
	// OrganizationID: organization ID of policy.
	OrganizationID string `json:"organization_id"`
	// CreatedAt: creation date and time of policy.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: last update date and time of policy.
	UpdatedAt *time.Time `json:"updated_at"`
	// Editable: editable status of policy.
	Editable bool `json:"editable"`
	// NbRules: number of rules of policy.
	NbRules uint32 `json:"nb_rules"`
	// NbScopes: number of scopes of policy.
	NbScopes uint32 `json:"nb_scopes"`
	// NbPermissionSets: number of permission sets of policy.
	NbPermissionSets uint32 `json:"nb_permission_sets"`
	// UserID: ID of user, owner of the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	UserID *string `json:"user_id,omitempty"`
	// GroupID: ID of group, owner of the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	GroupID *string `json:"group_id,omitempty"`
	// ApplicationID: ID of application, owner of the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	ApplicationID *string `json:"application_id,omitempty"`
	// NoPrincipal: true when the policy do not belong to any principal.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	NoPrincipal *bool `json:"no_principal,omitempty"`
}

Policy: policy.

type Quotum

type Quotum struct {
	// Name: name of the quotum.
	Name string `json:"name"`
	// Limit: max limit of the quotum.
	// Precisely one of Limit, Unlimited must be set.
	Limit *uint64 `json:"limit,omitempty"`
	// Unlimited: whether the quotum is unlimited or not.
	// Precisely one of Limit, Unlimited must be set.
	Unlimited *bool `json:"unlimited,omitempty"`
}

Quotum: quotum.

type RemoveGroupMemberRequest

type RemoveGroupMemberRequest struct {
	// GroupID: ID of group.
	GroupID string `json:"-"`
	// UserID: ID of the user to remove.
	// Precisely one of ApplicationID, UserID must be set.
	UserID *string `json:"user_id,omitempty"`
	// ApplicationID: ID of the application to remove.
	// Precisely one of ApplicationID, UserID must be set.
	ApplicationID *string `json:"application_id,omitempty"`
}

type Rule

type Rule struct {
	// ID: id of rule.
	ID string `json:"id"`
	// PermissionSetNames: names of permission sets bound to the rule.
	PermissionSetNames *[]string `json:"permission_set_names"`
	// PermissionSetsScopeType: permission_set_names have the same scope_type.
	// Default value: unknown_scope_type
	PermissionSetsScopeType PermissionSetScopeType `json:"permission_sets_scope_type"`
	// ProjectIDs: list of project IDs scoped to the rule.
	// Precisely one of AccountRootUserID, OrganizationID, ProjectIDs must be set.
	ProjectIDs *[]string `json:"project_ids,omitempty"`
	// OrganizationID: ID of organization scoped to the rule.
	// Precisely one of AccountRootUserID, OrganizationID, ProjectIDs must be set.
	OrganizationID *string `json:"organization_id,omitempty"`
	// AccountRootUserID: ID of account root user scoped to the rule.
	// Precisely one of AccountRootUserID, OrganizationID, ProjectIDs must be set.
	AccountRootUserID *string `json:"account_root_user_id,omitempty"`
}

Rule: rule.

type RuleSpecs

type RuleSpecs struct {
	// PermissionSetNames: names of permission sets bound to the rule.
	PermissionSetNames *[]string `json:"permission_set_names"`
	// ProjectIDs: list of project IDs scoped to the rule.
	// Precisely one of OrganizationID, ProjectIDs must be set.
	ProjectIDs *[]string `json:"project_ids,omitempty"`
	// OrganizationID: ID of organization scoped to the rule.
	// Precisely one of OrganizationID, ProjectIDs must be set.
	OrganizationID *string `json:"organization_id,omitempty"`
}

RuleSpecs: rule specs.

type SSHKey

type SSHKey struct {
	// ID: ID of SSH key.
	ID string `json:"id"`
	// Name: name of SSH key.
	Name string `json:"name"`
	// PublicKey: public key of SSH key.
	PublicKey string `json:"public_key"`
	// Fingerprint: fingerprint of SSH key.
	Fingerprint string `json:"fingerprint"`
	// CreatedAt: creation date of SSH key.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: last update date of SSH key.
	UpdatedAt *time.Time `json:"updated_at"`
	// OrganizationID: ID of organization linked to the SSH key.
	OrganizationID string `json:"organization_id"`
	// ProjectID: ID of project linked to the SSH key.
	ProjectID string `json:"project_id"`
	// Disabled: SSH key status.
	Disabled bool `json:"disabled"`
}

SSHKey: ssh key.

type SetGroupMembersRequest

type SetGroupMembersRequest struct {
	GroupID string `json:"-"`

	UserIDs []string `json:"user_ids"`

	ApplicationIDs []string `json:"application_ids"`
}

type SetRulesRequest

type SetRulesRequest struct {
	// PolicyID: id of policy to update.
	PolicyID string `json:"policy_id"`
	// Rules: rules of the policy to set.
	Rules []*RuleSpecs `json:"rules"`
}

type SetRulesResponse

type SetRulesResponse struct {
	// Rules: rules of policy.
	Rules []*Rule `json:"rules"`
}

SetRulesResponse: set rules response.

type UpdateAPIKeyRequest

type UpdateAPIKeyRequest struct {
	// AccessKey: access key to update.
	AccessKey string `json:"-"`
	// DefaultProjectID: the new default project ID to set.
	DefaultProjectID *string `json:"default_project_id"`
	// Description: the new description to update.
	Description *string `json:"description"`
}

type UpdateApplicationRequest

type UpdateApplicationRequest struct {
	// ApplicationID: ID of application to update.
	ApplicationID string `json:"-"`
	// Name: new name of application (max length is 64 chars).
	Name *string `json:"name"`
	// Description: new description of application (max length is 200 chars).
	Description *string `json:"description"`
}

type UpdateGroupRequest

type UpdateGroupRequest struct {
	// GroupID: ID of group to update.
	GroupID string `json:"-"`
	// Name: new name for the group (max length is 64 chars). MUST be unique inside an organization.
	Name *string `json:"name"`
	// Description: new description for the group (max length is 200 chars).
	Description *string `json:"description"`
}

type UpdatePolicyRequest

type UpdatePolicyRequest struct {
	// PolicyID: id of policy to update.
	PolicyID string `json:"-"`
	// Name: new name of policy (max length is 64 chars).
	Name *string `json:"name"`
	// Description: new description of policy (max length is 200 chars).
	Description *string `json:"description"`
	// UserID: new ID of user, owner of the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	UserID *string `json:"user_id,omitempty"`
	// GroupID: new ID of group, owner of the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	GroupID *string `json:"group_id,omitempty"`
	// ApplicationID: new ID of application, owner of the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	ApplicationID *string `json:"application_id,omitempty"`
	// NoPrincipal: true when the policy do not belong to any principal.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	NoPrincipal *bool `json:"no_principal,omitempty"`
}

type UpdateSSHKeyRequest

type UpdateSSHKeyRequest struct {
	SSHKeyID string `json:"-"`
	// Name: name of the SSH key. Max length is 1000.
	Name *string `json:"name"`
	// Disabled: enable or disable the SSH key.
	Disabled *bool `json:"disabled"`
}

type User

type User struct {
	// ID: ID of user.
	ID string `json:"id"`
	// Email: email of user.
	Email string `json:"email"`
	// CreatedAt: creation date of user.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: last update date of user.
	UpdatedAt *time.Time `json:"updated_at"`
	// OrganizationID: ID of organization.
	OrganizationID string `json:"organization_id"`
	// Deletable: deletion status of user. Owner user cannot be deleted.
	Deletable bool `json:"deletable"`
	// LastLoginAt: last login date.
	LastLoginAt *time.Time `json:"last_login_at"`
	// Type: type of the user.
	// Default value: unknown_type
	Type UserType `json:"type"`
	// TwoFactorEnabled: 2FA enabled.
	TwoFactorEnabled bool `json:"two_factor_enabled"`
	// Status: status of invitation for the user.
	// Default value: unknown_status
	Status UserStatus `json:"status"`
}

User: user.

type UserStatus

type UserStatus string

func (UserStatus) MarshalJSON

func (enum UserStatus) MarshalJSON() ([]byte, error)

func (UserStatus) String

func (enum UserStatus) String() string

func (*UserStatus) UnmarshalJSON

func (enum *UserStatus) UnmarshalJSON(data []byte) error

type UserType

type UserType string

func (UserType) MarshalJSON

func (enum UserType) MarshalJSON() ([]byte, error)

func (UserType) String

func (enum UserType) String() string

func (*UserType) UnmarshalJSON

func (enum *UserType) UnmarshalJSON(data []byte) error

Jump to

Keyboard shortcuts

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