iam

package
v1.0.0-beta.12 Latest Latest
Warning

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

Go to latest
Published: Jan 17, 2023 License: Apache-2.0 Imports: 13 Imported by: 6

Documentation

Overview

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

Index

Constants

View Source
const (
	// ListAPIKeysRequestOrderByCreatedAtAsc is [insert doc].
	ListAPIKeysRequestOrderByCreatedAtAsc = ListAPIKeysRequestOrderBy("created_at_asc")
	// ListAPIKeysRequestOrderByCreatedAtDesc is [insert doc].
	ListAPIKeysRequestOrderByCreatedAtDesc = ListAPIKeysRequestOrderBy("created_at_desc")
	// ListAPIKeysRequestOrderByUpdatedAtAsc is [insert doc].
	ListAPIKeysRequestOrderByUpdatedAtAsc = ListAPIKeysRequestOrderBy("updated_at_asc")
	// ListAPIKeysRequestOrderByUpdatedAtDesc is [insert doc].
	ListAPIKeysRequestOrderByUpdatedAtDesc = ListAPIKeysRequestOrderBy("updated_at_desc")
	// ListAPIKeysRequestOrderByExpiresAtAsc is [insert doc].
	ListAPIKeysRequestOrderByExpiresAtAsc = ListAPIKeysRequestOrderBy("expires_at_asc")
	// ListAPIKeysRequestOrderByExpiresAtDesc is [insert doc].
	ListAPIKeysRequestOrderByExpiresAtDesc = ListAPIKeysRequestOrderBy("expires_at_desc")
	// ListAPIKeysRequestOrderByAccessKeyAsc is [insert doc].
	ListAPIKeysRequestOrderByAccessKeyAsc = ListAPIKeysRequestOrderBy("access_key_asc")
	// ListAPIKeysRequestOrderByAccessKeyDesc is [insert doc].
	ListAPIKeysRequestOrderByAccessKeyDesc = ListAPIKeysRequestOrderBy("access_key_desc")
)
View Source
const (
	// ListApplicationsRequestOrderByCreatedAtAsc is [insert doc].
	ListApplicationsRequestOrderByCreatedAtAsc = ListApplicationsRequestOrderBy("created_at_asc")
	// ListApplicationsRequestOrderByCreatedAtDesc is [insert doc].
	ListApplicationsRequestOrderByCreatedAtDesc = ListApplicationsRequestOrderBy("created_at_desc")
	// ListApplicationsRequestOrderByUpdatedAtAsc is [insert doc].
	ListApplicationsRequestOrderByUpdatedAtAsc = ListApplicationsRequestOrderBy("updated_at_asc")
	// ListApplicationsRequestOrderByUpdatedAtDesc is [insert doc].
	ListApplicationsRequestOrderByUpdatedAtDesc = ListApplicationsRequestOrderBy("updated_at_desc")
	// ListApplicationsRequestOrderByNameAsc is [insert doc].
	ListApplicationsRequestOrderByNameAsc = ListApplicationsRequestOrderBy("name_asc")
	// ListApplicationsRequestOrderByNameDesc is [insert doc].
	ListApplicationsRequestOrderByNameDesc = ListApplicationsRequestOrderBy("name_desc")
)
View Source
const (
	// ListGroupsRequestOrderByCreatedAtAsc is [insert doc].
	ListGroupsRequestOrderByCreatedAtAsc = ListGroupsRequestOrderBy("created_at_asc")
	// ListGroupsRequestOrderByCreatedAtDesc is [insert doc].
	ListGroupsRequestOrderByCreatedAtDesc = ListGroupsRequestOrderBy("created_at_desc")
	// ListGroupsRequestOrderByUpdatedAtAsc is [insert doc].
	ListGroupsRequestOrderByUpdatedAtAsc = ListGroupsRequestOrderBy("updated_at_asc")
	// ListGroupsRequestOrderByUpdatedAtDesc is [insert doc].
	ListGroupsRequestOrderByUpdatedAtDesc = ListGroupsRequestOrderBy("updated_at_desc")
	// ListGroupsRequestOrderByNameAsc is [insert doc].
	ListGroupsRequestOrderByNameAsc = ListGroupsRequestOrderBy("name_asc")
	// ListGroupsRequestOrderByNameDesc is [insert doc].
	ListGroupsRequestOrderByNameDesc = ListGroupsRequestOrderBy("name_desc")
)
View Source
const (
	// ListPermissionSetsRequestOrderByNameAsc is [insert doc].
	ListPermissionSetsRequestOrderByNameAsc = ListPermissionSetsRequestOrderBy("name_asc")
	// ListPermissionSetsRequestOrderByNameDesc is [insert doc].
	ListPermissionSetsRequestOrderByNameDesc = ListPermissionSetsRequestOrderBy("name_desc")
	// ListPermissionSetsRequestOrderByCreatedAtAsc is [insert doc].
	ListPermissionSetsRequestOrderByCreatedAtAsc = ListPermissionSetsRequestOrderBy("created_at_asc")
	// ListPermissionSetsRequestOrderByCreatedAtDesc is [insert doc].
	ListPermissionSetsRequestOrderByCreatedAtDesc = ListPermissionSetsRequestOrderBy("created_at_desc")
)
View Source
const (
	// ListPoliciesRequestOrderByPolicyNameAsc is [insert doc].
	ListPoliciesRequestOrderByPolicyNameAsc = ListPoliciesRequestOrderBy("policy_name_asc")
	// ListPoliciesRequestOrderByPolicyNameDesc is [insert doc].
	ListPoliciesRequestOrderByPolicyNameDesc = ListPoliciesRequestOrderBy("policy_name_desc")
	// ListPoliciesRequestOrderByCreatedAtAsc is [insert doc].
	ListPoliciesRequestOrderByCreatedAtAsc = ListPoliciesRequestOrderBy("created_at_asc")
	// ListPoliciesRequestOrderByCreatedAtDesc is [insert doc].
	ListPoliciesRequestOrderByCreatedAtDesc = ListPoliciesRequestOrderBy("created_at_desc")
)
View Source
const (
	// ListSSHKeysRequestOrderByCreatedAtAsc is [insert doc].
	ListSSHKeysRequestOrderByCreatedAtAsc = ListSSHKeysRequestOrderBy("created_at_asc")
	// ListSSHKeysRequestOrderByCreatedAtDesc is [insert doc].
	ListSSHKeysRequestOrderByCreatedAtDesc = ListSSHKeysRequestOrderBy("created_at_desc")
	// ListSSHKeysRequestOrderByUpdatedAtAsc is [insert doc].
	ListSSHKeysRequestOrderByUpdatedAtAsc = ListSSHKeysRequestOrderBy("updated_at_asc")
	// ListSSHKeysRequestOrderByUpdatedAtDesc is [insert doc].
	ListSSHKeysRequestOrderByUpdatedAtDesc = ListSSHKeysRequestOrderBy("updated_at_desc")
	// ListSSHKeysRequestOrderByNameAsc is [insert doc].
	ListSSHKeysRequestOrderByNameAsc = ListSSHKeysRequestOrderBy("name_asc")
	// ListSSHKeysRequestOrderByNameDesc is [insert doc].
	ListSSHKeysRequestOrderByNameDesc = ListSSHKeysRequestOrderBy("name_desc")
)
View Source
const (
	// ListUsersRequestOrderByCreatedAtAsc is [insert doc].
	ListUsersRequestOrderByCreatedAtAsc = ListUsersRequestOrderBy("created_at_asc")
	// ListUsersRequestOrderByCreatedAtDesc is [insert doc].
	ListUsersRequestOrderByCreatedAtDesc = ListUsersRequestOrderBy("created_at_desc")
	// ListUsersRequestOrderByUpdatedAtAsc is [insert doc].
	ListUsersRequestOrderByUpdatedAtAsc = ListUsersRequestOrderBy("updated_at_asc")
	// ListUsersRequestOrderByUpdatedAtDesc is [insert doc].
	ListUsersRequestOrderByUpdatedAtDesc = ListUsersRequestOrderBy("updated_at_desc")
	// ListUsersRequestOrderByEmailAsc is [insert doc].
	ListUsersRequestOrderByEmailAsc = ListUsersRequestOrderBy("email_asc")
	// ListUsersRequestOrderByEmailDesc is [insert doc].
	ListUsersRequestOrderByEmailDesc = ListUsersRequestOrderBy("email_desc")
	// ListUsersRequestOrderByLastLoginAsc is [insert doc].
	ListUsersRequestOrderByLastLoginAsc = ListUsersRequestOrderBy("last_login_asc")
	// ListUsersRequestOrderByLastLoginDesc is [insert doc].
	ListUsersRequestOrderByLastLoginDesc = ListUsersRequestOrderBy("last_login_desc")
)
View Source
const (
	// PermissionSetScopeTypeUnknownScopeType is [insert doc].
	PermissionSetScopeTypeUnknownScopeType = PermissionSetScopeType("unknown_scope_type")
	// PermissionSetScopeTypeProjects is [insert doc].
	PermissionSetScopeTypeProjects = PermissionSetScopeType("projects")
	// PermissionSetScopeTypeOrganization is [insert doc].
	PermissionSetScopeTypeOrganization = PermissionSetScopeType("organization")
	// PermissionSetScopeTypeAccountRootUser is [insert doc].
	PermissionSetScopeTypeAccountRootUser = PermissionSetScopeType("account_root_user")
)
View Source
const (
	// UserStatusUnknownStatus is [insert doc].
	UserStatusUnknownStatus = UserStatus("unknown_status")
	// UserStatusInvitationPending is [insert doc].
	UserStatusInvitationPending = UserStatus("invitation_pending")
	// UserStatusActivated is [insert doc].
	UserStatusActivated = UserStatus("activated")
)
View Source
const (
	// UserTypeUnknownType is [insert doc].
	UserTypeUnknownType = UserType("unknown_type")
	// UserTypeGuest is [insert doc].
	UserTypeGuest = UserType("guest")
	// UserTypeOwner is [insert doc].
	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) 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) GetPolicy

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

GetPolicy: get an existing policy

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) 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) 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 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 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 GetPolicyRequest

type GetPolicyRequest struct {
	// PolicyID: id of policy to search
	PolicyID 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 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:"-"`
	// ApplicationID: ID of an application bearer
	ApplicationID *string `json:"-"`
	// UserID: ID of a user bearer
	UserID *string `json:"-"`
	// Editable: filter out editable API keys or not
	Editable *bool `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 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 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 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