Documentation ¶
Index ¶
- func Validator() *validator.Validate
- type GetUserInput
- type GetUserOutput
- type InviteUserInput
- type InviteUserOutput
- type LambdaInput
- type ListUsersInput
- type ListUsersOutput
- type RemoveUserInput
- type RemoveUserOutput
- type ResetUserPasswordInput
- type ResetUserPasswordOutput
- type UpdateUserInput
- type UpdateUserOutput
- type User
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type GetUserInput ¶
type GetUserInput struct {
ID *string `json:"id" validate:"required,uuid4"`
}
GetUserInput retrieves a user's information based on id.
Example:
{ "getUser": { "id": "8304cc90-750d-4b8f-9a63-b90a4543c707" } }
type GetUserOutput ¶
type GetUserOutput = User
GetUserOutput returns the Panther user details.
Example:
{ "createdAt": 1583378248, "email": "panther@example.com", "familyName": "byers", "givenName": "austin", "id": "8304cc90-750d-4b8f-9a63-b90a4543c707", "status": "FORCE_CHANGE_PASSWORD" }
type InviteUserInput ¶
type InviteUserInput struct { // Which Panther user is making this request? RequesterID *string `json:"requesterId" validate:"required,uuid4"` GivenName *string `json:"givenName" validate:"required,min=1,excludesall='<>&\""` FamilyName *string `json:"familyName" validate:"required,min=1,excludesall='<>&\""` Email *string `json:"email" validate:"required,email"` // RESEND or SUPPRESS the invitation message MessageAction *string `json:"messageAction" validate:"omitempty,oneof=RESEND SUPPRESS"` }
InviteUserInput creates a new user with minimal permissions and sends them an invite.
type LambdaInput ¶
type LambdaInput struct { GetUser *GetUserInput `json:"getUser"` InviteUser *InviteUserInput `json:"inviteUser"` ListUsers *ListUsersInput `json:"listUsers"` RemoveUser *RemoveUserInput `json:"removeUser"` ResetUserPassword *ResetUserPasswordInput `json:"resetUserPassword"` UpdateUser *UpdateUserInput `json:"updateUser"` }
LambdaInput is the invocation event expected by the Lambda function.
Exactly one action must be specified, see comments below for examples.
type ListUsersInput ¶ added in v0.2.0
type ListUsersInput struct { // FILTERING (filters are combined with logical AND) // Show only users whose name or email contains this substring (case-insensitive) Contains *string `json:"contains"` // Show only users with this Cognito status Status *string `json:"status"` // SORTING // By default, sort by email ascending SortBy *string `json:"sortBy" validate:"omitempty,oneof=email firstName lastName createdAt"` SortDir *string `json:"sortDir" validate:"omitempty,oneof=ascending descending"` }
ListUsersInput lists all users in Panther.
Example:
{ "listUsers": { "contains": "austin" } }
type ListUsersOutput ¶ added in v0.2.0
type ListUsersOutput struct {
Users []User `json:"users"`
}
ListUsersOutput returns all matching users.
{ "users": [ { "createdAt": 1583378248, "email": "austin.byers@runpanther.io", "familyName": "byers", "givenName": "austin", "id": "8304cc90-750d-4b8f-9a63-b90a4543c707", "status": "FORCE_CHANGE_PASSWORD" } ] }
type RemoveUserInput ¶ added in v0.2.0
type RemoveUserInput struct { // Which Panther user is making this request? RequesterID *string `json:"requesterId" validate:"required,uuid4"` ID *string `json:"id" validate:"required,uuid4"` }
RemoveUserInput deletes a user.
This will fail if the user is the only one with UserModify permissions.
type RemoveUserOutput ¶ added in v1.0.0
type RemoveUserOutput struct {
ID *string `json:"id"`
}
RemoveUserOutput returns the ID of the deleted user.
type ResetUserPasswordInput ¶
type ResetUserPasswordInput struct { // Which Panther user is making this request? RequesterID *string `json:"requesterId" validate:"required,uuid4"` ID *string `json:"id" validate:"required,uuid4"` }
ResetUserPasswordInput resets the password for a user.
type ResetUserPasswordOutput ¶ added in v1.0.0
type ResetUserPasswordOutput struct {
ID *string `json:"id"`
}
ResetUserPasswordOutput returns the ID of the reset user.
type UpdateUserInput ¶
type UpdateUserInput struct { // Which Panther user is making this request? RequesterID *string `json:"requesterId" validate:"required,uuid4"` ID *string `json:"id" validate:"required,uuid4"` // At least one of the following must be specified: GivenName *string `json:"givenName" validate:"omitempty,min=1,excludesall='<>&\""` FamilyName *string `json:"familyName" validate:"omitempty,min=1,excludesall='<>&\""` Email *string `json:"email" validate:"omitempty,min=1"` }
UpdateUserInput updates user details.
type UpdateUserOutput ¶ added in v1.0.0
type UpdateUserOutput = User
UpdateUserOutput returns the new Panther user details.