iam

package
v1.0.0-beta.19 Latest Latest
Warning

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

Go to latest
Published: Jul 13, 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 (
	// Unknown bearer type
	BearerTypeUnknownBearerType = BearerType("unknown_bearer_type")
	// User
	BearerTypeUser = BearerType("user")
	// Application
	BearerTypeApplication = BearerType("application")
)
View Source
const (
	// Creation date ascending
	ListAPIKeysRequestOrderByCreatedAtAsc = ListAPIKeysRequestOrderBy("created_at_asc")
	// Creation date descending
	ListAPIKeysRequestOrderByCreatedAtDesc = ListAPIKeysRequestOrderBy("created_at_desc")
	// Update date ascending
	ListAPIKeysRequestOrderByUpdatedAtAsc = ListAPIKeysRequestOrderBy("updated_at_asc")
	// Update date descending
	ListAPIKeysRequestOrderByUpdatedAtDesc = ListAPIKeysRequestOrderBy("updated_at_desc")
	// Expiration date ascending
	ListAPIKeysRequestOrderByExpiresAtAsc = ListAPIKeysRequestOrderBy("expires_at_asc")
	// Expiration date descending
	ListAPIKeysRequestOrderByExpiresAtDesc = ListAPIKeysRequestOrderBy("expires_at_desc")
	// Access key ascending
	ListAPIKeysRequestOrderByAccessKeyAsc = ListAPIKeysRequestOrderBy("access_key_asc")
	// Access key descending
	ListAPIKeysRequestOrderByAccessKeyDesc = ListAPIKeysRequestOrderBy("access_key_desc")
)
View Source
const (
	// Creation date ascending
	ListApplicationsRequestOrderByCreatedAtAsc = ListApplicationsRequestOrderBy("created_at_asc")
	// Creation date descending
	ListApplicationsRequestOrderByCreatedAtDesc = ListApplicationsRequestOrderBy("created_at_desc")
	// Update date ascending
	ListApplicationsRequestOrderByUpdatedAtAsc = ListApplicationsRequestOrderBy("updated_at_asc")
	// Update date descending
	ListApplicationsRequestOrderByUpdatedAtDesc = ListApplicationsRequestOrderBy("updated_at_desc")
	// Name ascending
	ListApplicationsRequestOrderByNameAsc = ListApplicationsRequestOrderBy("name_asc")
	// Name descending
	ListApplicationsRequestOrderByNameDesc = ListApplicationsRequestOrderBy("name_desc")
)
View Source
const (
	// Creation date ascending
	ListGroupsRequestOrderByCreatedAtAsc = ListGroupsRequestOrderBy("created_at_asc")
	// Creation date descending
	ListGroupsRequestOrderByCreatedAtDesc = ListGroupsRequestOrderBy("created_at_desc")
	// Update date ascending
	ListGroupsRequestOrderByUpdatedAtAsc = ListGroupsRequestOrderBy("updated_at_asc")
	// Update date descending
	ListGroupsRequestOrderByUpdatedAtDesc = ListGroupsRequestOrderBy("updated_at_desc")
	// Name ascending
	ListGroupsRequestOrderByNameAsc = ListGroupsRequestOrderBy("name_asc")
	// Name descending
	ListGroupsRequestOrderByNameDesc = ListGroupsRequestOrderBy("name_desc")
)
View Source
const (
	// Creation date ascending
	ListJWTsRequestOrderByCreatedAtAsc = ListJWTsRequestOrderBy("created_at_asc")
	// Creation date descending
	ListJWTsRequestOrderByCreatedAtDesc = ListJWTsRequestOrderBy("created_at_desc")
	// Update date ascending
	ListJWTsRequestOrderByUpdatedAtAsc = ListJWTsRequestOrderBy("updated_at_asc")
	// Update date descending
	ListJWTsRequestOrderByUpdatedAtDesc = ListJWTsRequestOrderBy("updated_at_desc")
)
View Source
const (
	// Name ascending
	ListPermissionSetsRequestOrderByNameAsc = ListPermissionSetsRequestOrderBy("name_asc")
	// Name descending
	ListPermissionSetsRequestOrderByNameDesc = ListPermissionSetsRequestOrderBy("name_desc")
	// Creation date ascending
	ListPermissionSetsRequestOrderByCreatedAtAsc = ListPermissionSetsRequestOrderBy("created_at_asc")
	// Creation date descending
	ListPermissionSetsRequestOrderByCreatedAtDesc = ListPermissionSetsRequestOrderBy("created_at_desc")
)
View Source
const (
	// Policy name ascending
	ListPoliciesRequestOrderByPolicyNameAsc = ListPoliciesRequestOrderBy("policy_name_asc")
	// Policy name descending
	ListPoliciesRequestOrderByPolicyNameDesc = ListPoliciesRequestOrderBy("policy_name_desc")
	// Creation date ascending
	ListPoliciesRequestOrderByCreatedAtAsc = ListPoliciesRequestOrderBy("created_at_asc")
	// Creation date descending
	ListPoliciesRequestOrderByCreatedAtDesc = ListPoliciesRequestOrderBy("created_at_desc")
)
View Source
const (
	// Name ascending
	ListQuotaRequestOrderByNameAsc = ListQuotaRequestOrderBy("name_asc")
	// Name descending
	ListQuotaRequestOrderByNameDesc = ListQuotaRequestOrderBy("name_desc")
)
View Source
const (
	// Creation date ascending
	ListSSHKeysRequestOrderByCreatedAtAsc = ListSSHKeysRequestOrderBy("created_at_asc")
	// Creation date descending
	ListSSHKeysRequestOrderByCreatedAtDesc = ListSSHKeysRequestOrderBy("created_at_desc")
	// Update date ascending
	ListSSHKeysRequestOrderByUpdatedAtAsc = ListSSHKeysRequestOrderBy("updated_at_asc")
	// Update date descending
	ListSSHKeysRequestOrderByUpdatedAtDesc = ListSSHKeysRequestOrderBy("updated_at_desc")
	// Name ascending
	ListSSHKeysRequestOrderByNameAsc = ListSSHKeysRequestOrderBy("name_asc")
	// Name descending
	ListSSHKeysRequestOrderByNameDesc = ListSSHKeysRequestOrderBy("name_desc")
)
View Source
const (
	// Creation date ascending
	ListUsersRequestOrderByCreatedAtAsc = ListUsersRequestOrderBy("created_at_asc")
	// Creation date descending
	ListUsersRequestOrderByCreatedAtDesc = ListUsersRequestOrderBy("created_at_desc")
	// Update date ascending
	ListUsersRequestOrderByUpdatedAtAsc = ListUsersRequestOrderBy("updated_at_asc")
	// Update date descending
	ListUsersRequestOrderByUpdatedAtDesc = ListUsersRequestOrderBy("updated_at_desc")
	// Email ascending
	ListUsersRequestOrderByEmailAsc = ListUsersRequestOrderBy("email_asc")
	// Email descending
	ListUsersRequestOrderByEmailDesc = ListUsersRequestOrderBy("email_desc")
	// Last login ascending
	ListUsersRequestOrderByLastLoginAsc = ListUsersRequestOrderBy("last_login_asc")
	// Last login descending
	ListUsersRequestOrderByLastLoginDesc = ListUsersRequestOrderBy("last_login_desc")
)
View Source
const (
	// Unknown scope type
	PermissionSetScopeTypeUnknownScopeType = PermissionSetScopeType("unknown_scope_type")
	// Projects
	PermissionSetScopeTypeProjects = PermissionSetScopeType("projects")
	// Organization
	PermissionSetScopeTypeOrganization = PermissionSetScopeType("organization")
	// Account root user
	PermissionSetScopeTypeAccountRootUser = PermissionSetScopeType("account_root_user")
)
View Source
const (
	// Unknown status
	UserStatusUnknownStatus = UserStatus("unknown_status")
	// Invitation pending
	UserStatusInvitationPending = UserStatus("invitation_pending")
	// Activated
	UserStatusActivated = UserStatus("activated")
)
View Source
const (
	// Unknown type
	UserTypeUnknownType = UserType("unknown_type")
	// Guest
	UserTypeGuest = UserType("guest")
	// Owner
	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 or an application to a group. Add a user or an application to a group. You can specify a `user_id` and and `application_id` in the body of your request. Note that you can only add one of each per request.

func (*API) AddGroupMembers

func (s *API) AddGroupMembers(req *AddGroupMembersRequest, opts ...scw.RequestOption) (*Group, error)

AddGroupMembers: add multiple users and applications to a group. Add multiple users and applications to a group in a single call. You can specify an array of `user_id`s and `application_id`s. Note that any existing users and applications in the group will remain. To add new users/applications and delete pre-existing ones, use the [Overwrite users and applications of a group](#path-groups-overwrite-users-and-applications-of-a-group) method.

func (*API) ClonePolicy

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

ClonePolicy: clone a policy. Clone a policy. You must define specify the `policy_id` parameter in your request.

func (*API) CreateAPIKey

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

CreateAPIKey: create an API key. Create an API key. You must specify the `application_id` or the `user_id` and the description. You can also specify the `default_project_id` which is the Project ID of your preferred Project, to use with Object Storage. The `access_key` and `secret_key` values are returned in the response. Note that he secret key is only showed once. Make sure that you copy and store both keys somewhere safe.

func (*API) CreateApplication

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

CreateApplication: create a new application. Create a new application. You must define the `name` parameter in the request.

func (*API) CreateGroup

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

CreateGroup: create a group. Create a new group. You must define the `name` and `organization_id` parameters in the request.

func (*API) CreatePolicy

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

CreatePolicy: create a new policy. Create a new application. You must define the `name` parameter in the request. You can specify parameters such as `user_id`, `groups_id`, `application_id`, `no_principal`, `rules` and its child attributes.

func (*API) CreateSSHKey

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

CreateSSHKey: create an SSH key. Add a new SSH key to a Scaleway Project. You must specify the `name`, `public_key` and `project_id`.

func (*API) DeleteAPIKey

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

DeleteAPIKey: delete an API key. Delete an API key. Note that this action is irreversible and cannot be undone. Make sure you update any configurations using the API keys you delete.

func (*API) DeleteApplication

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

DeleteApplication: delete an application. Delete an application. Note that this action is irreversible and will automatically delete the application's API keys. Policies attached to users and applications via this group will no longer apply.

func (*API) DeleteGroup

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

DeleteGroup: delete a group. Delete a group. Note that this action is irreversible and could delete permissions for group members. Policies attached to users and applications via this group will no longer apply.

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. Delete a policy. You must define specify the `policy_id` parameter in your request. Note that when deleting a policy, all permissions it gives to its principal (user, group or application) will be revoked.

func (*API) DeleteSSHKey

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

DeleteSSHKey: delete an SSH key. Delete a given SSH key, specified by the `ssh_key_id`. Deleting an SSH is permanent, and cannot be undone. Note that you might need to update any configurations that used the SSH key.

func (*API) DeleteUser

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

DeleteUser: delete a guest user from an Organization. Remove a user from an Organization in which they are a guest. You must define the `user_id` in your request. Note that removing a user from an Organization automatically deletes their API keys, and any policies directly attached to them become orphaned.

func (*API) GetAPIKey

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

GetAPIKey: get an API key. Retrive information about an API key, specified by the `access_key` parameter. The API key's details, including either the `user_id` or `application_id` of its bearer are returned in the response. Note that the string value for the `secret_key` is nullable, and therefore is not displayed in the response. The `secret_key` value is only displayed upon API key creation.

func (*API) GetApplication

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

GetApplication: get a given application. Retrieve information about an application, specified by the `application_id` parameter. The application's full details, including `id`, `email`, `organization_id`, `status` and `two_factor_enabled` are returned in the response.

func (*API) GetGroup

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

GetGroup: get a group. Retrive information about a given group, specified by the `group_id` parameter. The group's full details, including `user_ids` and `application_ids` are returned in the response.

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. Retrieve information about a policy, speficified by the `policy_id` parameter. The policy's full details, including `id`, `name`, `organization_id`, `nb_rules` and `nb_scopes`, `nb_permission_sets` are returned in the response.

func (*API) GetQuotum

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

GetQuotum: get a quota in the Organization. Retrieve information about a resource quota, speficified by the `quotum_name` parameter. The quota's `limit`, or whether it is unlimited, is returned in the response.

func (*API) GetSSHKey

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

GetSSHKey: get an SSH key. Retrieve information about a given SSH key, specified by the `ssh_key_id` parameter. The SSH key's full details, including `id`, `name`, `public_key`, and `project_id` are returned in the response.

func (*API) GetUser

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

GetUser: get a given user. Retrieve information about a user, specified by the `user_id` parameter. The user's full details, including `id`, `email`, `organization_id`, `status` and `mfa` are returned in the response.

func (*API) ListAPIKeys

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

ListAPIKeys: list API keys. List API keys. By default, the API keys listed are ordered by creation date in ascending order. This can be modified via the `order_by` field. You can define additional parameters for your query such as `editable`, `expired`, `access_key` and `bearer_id`.

func (*API) ListApplications

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

ListApplications: list applications of an Organization. List the applications of an Organization. By default, the applications listed are ordered by creation date in ascending order. This can be modified via the `order_by` field. You must define the `organization_id` in the query path of your request. You can also define additional parameters for your query such as `application_ids`.

func (*API) ListGroups

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

ListGroups: list groups. List groups. By default, the groups listed are ordered by creation date in ascending order. This can be modified via the `order_by` field. You can define additional parameters to filter your query. Use `user_ids` or `application_ids` to list all groups certain users or applications belong to.

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. List permission sets available for given Organization. You must define the `organization_id` in the query path of your request.

func (*API) ListPolicies

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

ListPolicies: list policies of an Organization. List the policies of an Organization. By default, the policies listed are ordered by creation date in ascending order. This can be modified via the `order_by` field. You must define the `organization_id` in the query path of your request. You can also define additional parameters to filter your query, such as `user_ids`, `groups_ids`, `application_ids`, and `policy_name`.

func (*API) ListQuota

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

ListQuota: list all quotas in the Organization. List all product and features quota for an Organization, with their associated limits. By default, the quota listed are ordered by creation date in ascending order. This can be modified via the `order_by` field. You must define the `organization_id` in the query path of your request.

func (*API) ListRules

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

ListRules: list rules of a given policy. List the rules of a given policy. By default, the rules listed are ordered by creation date in ascending order. This can be modified via the `order_by` field. You must define the `policy_id` in the query path of your request.

func (*API) ListSSHKeys

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

ListSSHKeys: list SSH keys. List SSH keys. By default, the SSH keys listed are ordered by creation date in ascending order. This can be modified via the `order_by` field. You can define additional parameters for your query such as `organization_id`, `name`, `project_id` and `disabled`.

func (*API) ListUsers

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

ListUsers: list users of an Organization. List the users of an Organization. By default, the users listed are ordered by creation date in ascending order. This can be modified via the `order_by` field. You must define the `organization_id` in the query path of your request. You can also define additional parameters for your query such as `user_ids`.

func (*API) RemoveGroupMember

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

RemoveGroupMember: remove a user or an application from a group. Remove a user or an application from a group. You can specify a `user_id` and and `application_id` in the body of your request. Note that you can only remove one of each per request. Removing a user from a group means that any permissions given to them via the group (i.e. from an attached policy) will no longer apply. Be sure you want to remove these permissions from the user before proceeding.

func (*API) SetGroupMembers

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

SetGroupMembers: overwrite users and applications of a group. Overwrite users and applications configuration in a group. Any information that you add using this command will overwrite the previous configuration.

func (*API) SetRules

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

SetRules: set rules of a given policy. Overwrite the rules of a given policy. Any information that you add using this command will overwrite the previous configuration. If you include some of the rules you already had in your previous configuration in your new one, but you change their order, the new order of display will apply. While policy rules are ordered, they have no impact on the access logic of IAM because rules are allow-only.

func (*API) UpdateAPIKey

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

UpdateAPIKey: update an API key. Update the parameters of an API key, including `default_project_id` and `description`.

func (*API) UpdateApplication

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

UpdateApplication: update an application. Update the parameters of an application, including `name` and `description`.

func (*API) UpdateGroup

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

UpdateGroup: update a group. Update the parameters of group, including `name` and `description`.

func (*API) UpdatePolicy

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

UpdatePolicy: update an existing policy. Update the parameters of a policy, including `name`, `description`, `user_id`, `group_id`, `application_id` and `no_principal`.

func (*API) UpdateSSHKey

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

UpdateSSHKey: update an SSH key. Update the parameters of an SSH key, including `name` and `disable`.

type APIKey

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

APIKey: api key.

type AddGroupMemberRequest

type AddGroupMemberRequest struct {
	// GroupID: ID of the 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 AddGroupMembersRequest

type AddGroupMembersRequest struct {
	// GroupID: ID of the group.
	GroupID string `json:"-"`
	// UserIDs: iDs of the users to add.
	UserIDs []string `json:"user_ids"`
	// ApplicationIDs: iDs of the applications to add.
	ApplicationIDs []string `json:"application_ids"`
}

type Application

type Application struct {
	// ID: ID of the application.
	ID string `json:"id"`
	// Name: name of the application.
	Name string `json:"name"`
	// Description: description of the application.
	Description string `json:"description"`
	// CreatedAt: date and time application was created.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: date and time of last application update.
	UpdatedAt *time.Time `json:"updated_at"`
	// OrganizationID: ID of the Organization.
	OrganizationID string `json:"organization_id"`
	// Editable: defines whether or not the application is editable.
	Editable bool `json:"editable"`
	// NbAPIKeys: number of API keys attributed to 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 the application.
	// Precisely one of ApplicationID, UserID must be set.
	ApplicationID *string `json:"application_id,omitempty"`
	// UserID: ID of the user.
	// 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: default Project ID to use with Object Storage.
	DefaultProjectID *string `json:"default_project_id"`
	// Description: description of the API key (max length is 200 characters).
	Description string `json:"description"`
}

type CreateApplicationRequest

type CreateApplicationRequest struct {
	// Name: name of the application to create (max length is 64 characters).
	Name string `json:"name"`
	// OrganizationID: ID of the Organization.
	OrganizationID string `json:"organization_id"`
	// Description: description of the application (max length is 200 characters).
	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 the policy to create (max length is 64 characters).
	Name string `json:"name"`
	// Description: description of the policy to create (max length is 200 characters).
	Description string `json:"description"`
	// OrganizationID: ID of the Organization.
	OrganizationID string `json:"organization_id"`
	// Rules: rules of the policy to create.
	Rules []*RuleSpecs `json:"rules"`
	// UserID: ID of user attributed to the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	UserID *string `json:"user_id,omitempty"`
	// GroupID: ID of group attributed to the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	GroupID *string `json:"group_id,omitempty"`
	// ApplicationID: ID of application attributed to the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	ApplicationID *string `json:"application_id,omitempty"`
	// NoPrincipal: defines whether or not a policy is attributed to a principal.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	NoPrincipal *bool `json:"no_principal,omitempty"`
}

type CreateSSHKeyRequest

type CreateSSHKeyRequest struct {
	// Name: name of the SSH key. Max length is 1000.
	Name string `json:"name"`
	// PublicKey: SSH public key. Currently only the 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 the resource is attributed to.
	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 the application to delete.
	ApplicationID string `json:"-"`
}

type DeleteGroupRequest

type DeleteGroupRequest struct {
	// GroupID: ID of the 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 the 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 the application to find.
	ApplicationID string `json:"-"`
}

type GetGroupRequest

type GetGroupRequest struct {
	// GroupID: ID of the 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 quota to get.
	QuotumName string `json:"-"`
	// OrganizationID: ID of the Organization.
	OrganizationID string `json:"-"`
}

type GetSSHKeyRequest

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

type GetUserRequest

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

type Group

type Group struct {
	// ID: ID of the group.
	ID string `json:"id"`
	// CreatedAt: date and time of group creation.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: date and time of last group update.
	UpdatedAt *time.Time `json:"updated_at"`
	// OrganizationID: ID of Organization linked to the group.
	OrganizationID string `json:"organization_id"`
	// Name: name of the 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: page number. Value must be greater or equal 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 application that bears the API key.
	ApplicationID *string `json:"-"`
	// Deprecated: UserID: ID of user that bears the API key.
	UserID *string `json:"-"`
	// Editable: defines whether to filter out editable API keys or not.
	Editable *bool `json:"-"`
	// Expired: defines whether to filter out expired API keys or not.
	Expired *bool `json:"-"`
	// AccessKey: filter by access key.
	AccessKey *string `json:"-"`
	// Description: filter by description.
	Description *string `json:"-"`
	// BearerID: filter by bearer ID.
	BearerID *string `json:"-"`
	// BearerType: filter 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: page number. Value must be greater than 1.
	// Default value: 1
	Page *int32 `json:"-"`
	// Name: name of the application to filter.
	Name *string `json:"-"`
	// OrganizationID: ID of the Organization to filter.
	OrganizationID *string `json:"-"`
	// Editable: defines whether to filter out editable applications or not.
	Editable *bool `json:"-"`
	// ApplicationIDs: filter by list of IDs.
	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 equal 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 by a list of application IDs.
	ApplicationIDs []string `json:"-"`
	// UserIDs: filter by a list of user IDs.
	UserIDs []string `json:"-"`
	// GroupIDs: filter by a list of group IDs.
	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: page number. 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: page number. Value must be greater than 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: page number. Value must be greater than 1.
	// Default value: 1
	Page *int32 `json:"-"`
	// OrganizationID: ID of the Organization to filter.
	OrganizationID *string `json:"-"`
	// Editable: defines whether or not filter out editable policies.
	Editable *bool `json:"-"`
	// UserIDs: defines whether or not to filter by list of user IDs.
	UserIDs []string `json:"-"`
	// GroupIDs: defines whether or not to filter by list of group IDs.
	GroupIDs []string `json:"-"`
	// ApplicationIDs: filter by a list of application IDs.
	ApplicationIDs []string `json:"-"`
	// NoPrincipal: defines whether or not the policy is attributed to a principal.
	NoPrincipal *bool `json:"-"`
	// PolicyName: name of the 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: page number. Value must be greater than 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: page number. Value must be greater than 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 the SSH keys.
	// Default value: created_at_asc
	OrderBy ListSSHKeysRequestOrderBy `json:"-"`
	// Page: requested page number. Value must be greater or equal 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: defines whether to include 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: page number. Value must be greater or equal to 1.
	// Default value: 1
	Page *int32 `json:"-"`
	// OrganizationID: ID of the Organization to filter.
	OrganizationID *string `json:"-"`
	// UserIDs: filter by list of IDs.
	UserIDs []string `json:"-"`
	// Mfa: filter by MFA status.
	Mfa *bool `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 the permission set.
	ID string `json:"id"`
	// Name: name of the permission set.
	Name string `json:"name"`
	// ScopeType: scope of the permission set.
	// Default value: unknown_scope_type
	ScopeType PermissionSetScopeType `json:"scope_type"`
	// Description: description of the permission set.
	Description string `json:"description"`
	// Categories: categories of the 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 the policy.
	ID string `json:"id"`
	// Name: name of the policy.
	Name string `json:"name"`
	// Description: description of the policy.
	Description string `json:"description"`
	// OrganizationID: organization ID of the policy.
	OrganizationID string `json:"organization_id"`
	// CreatedAt: date and time of policy creation.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: date and time of last policy update.
	UpdatedAt *time.Time `json:"updated_at"`
	// Editable: defines whether or not a policy is editable.
	Editable bool `json:"editable"`
	// NbRules: number of rules of the policy.
	NbRules uint32 `json:"nb_rules"`
	// NbScopes: number of policy scopes.
	NbScopes uint32 `json:"nb_scopes"`
	// NbPermissionSets: number of permission sets of the policy.
	NbPermissionSets uint32 `json:"nb_permission_sets"`
	// UserID: ID of the user attributed to the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	UserID *string `json:"user_id,omitempty"`
	// GroupID: ID of the group attributed to the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	GroupID *string `json:"group_id,omitempty"`
	// ApplicationID: ID of the application attributed to the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	ApplicationID *string `json:"application_id,omitempty"`
	// NoPrincipal: defines whether or not a policy is attributed to a 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 quota.
	Name string `json:"name"`
	// Limit: maximum limit of the quota.
	// Precisely one of Limit, Unlimited must be set.
	Limit *uint64 `json:"limit,omitempty"`
	// Unlimited: defines whether or not the quota is unlimited.
	// Precisely one of Limit, Unlimited must be set.
	Unlimited *bool `json:"unlimited,omitempty"`
}

Quotum: quotum.

type RemoveGroupMemberRequest

type RemoveGroupMemberRequest struct {
	// GroupID: ID of the 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 the rule is scoped to.
	// Precisely one of AccountRootUserID, OrganizationID, ProjectIDs must be set.
	ProjectIDs *[]string `json:"project_ids,omitempty"`
	// OrganizationID: ID of Organization the rule is scoped to.
	// Precisely one of AccountRootUserID, OrganizationID, ProjectIDs must be set.
	OrganizationID *string `json:"organization_id,omitempty"`
	// AccountRootUserID: ID of account root user the rule is scoped to.
	// 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 the rule is scoped to.
	// Precisely one of OrganizationID, ProjectIDs must be set.
	ProjectIDs *[]string `json:"project_ids,omitempty"`
	// OrganizationID: ID of Organization the rule is scoped to.
	// 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 the 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 the policy.
	Rules []*Rule `json:"rules"`
}

SetRulesResponse: set rules response.

type UpdateAPIKeyRequest

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

type UpdateApplicationRequest

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

type UpdateGroupRequest

type UpdateGroupRequest struct {
	// GroupID: ID of the 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 for the policy (max length is 64 characters).
	Name *string `json:"name"`
	// Description: new description of policy (max length is 200 characters).
	Description *string `json:"description"`
	// UserID: new ID of user attributed to the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	UserID *string `json:"user_id,omitempty"`
	// GroupID: new ID of group attributed to the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	GroupID *string `json:"group_id,omitempty"`
	// ApplicationID: new ID of application attributed to the policy.
	// Precisely one of ApplicationID, GroupID, NoPrincipal, UserID must be set.
	ApplicationID *string `json:"application_id,omitempty"`
	// NoPrincipal: defines whether or not the policy is attributed to a 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: date user was created.
	CreatedAt *time.Time `json:"created_at"`
	// UpdatedAt: date of last user update.
	UpdatedAt *time.Time `json:"updated_at"`
	// OrganizationID: ID of the Organization.
	OrganizationID string `json:"organization_id"`
	// Deletable: deletion status of user. Owners cannot be deleted.
	Deletable bool `json:"deletable"`
	// LastLoginAt: date of the last login.
	LastLoginAt *time.Time `json:"last_login_at"`
	// Type: type of user.
	// Default value: unknown_type
	Type UserType `json:"type"`
	// Deprecated: TwoFactorEnabled: deprecated, use "mfa" instead.
	TwoFactorEnabled *bool `json:"two_factor_enabled,omitempty"`
	// Status: status of user invitation.
	// Default value: unknown_status
	Status UserStatus `json:"status"`
	// Mfa: defines whether MFA is enabled.
	Mfa bool `json:"mfa"`
	// AccountRootUserID: ID of the account root user associated with the user.
	AccountRootUserID string `json:"account_root_user_id"`
}

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