-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathoutput_types.go
More file actions
95 lines (86 loc) · 3.68 KB
/
Copy pathoutput_types.go
File metadata and controls
95 lines (86 loc) · 3.68 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
package cmd
// cloudElevationOutput is the JSON representation of a cloud elevation result.
type cloudElevationOutput struct {
Type string `json:"type"`
Provider string `json:"provider"`
SessionID string `json:"sessionId"`
Target string `json:"target"`
Role string `json:"role"`
Credentials *awsCredentialOutput `json:"credentials,omitempty"`
}
// awsCredentialOutput is the JSON representation of AWS credentials.
type awsCredentialOutput struct {
AccessKeyID string `json:"accessKeyId"`
SecretAccessKey string `json:"secretAccessKey"`
SessionToken string `json:"sessionToken"`
}
// groupElevationJSON is the JSON representation of a group elevation result.
type groupElevationJSON struct {
Type string `json:"type"`
SessionID string `json:"sessionId"`
GroupName string `json:"groupName"`
GroupID string `json:"groupId"`
DirectoryID string `json:"directoryId"`
Directory string `json:"directory,omitempty"`
}
// sessionOutput is the JSON representation of an active session.
type sessionOutput struct {
SessionID string `json:"sessionId"`
Provider string `json:"provider"`
WorkspaceID string `json:"workspaceId"`
WorkspaceName string `json:"workspaceName,omitempty"`
RoleID string `json:"roleId,omitempty"`
Duration int `json:"duration"`
RemainingSeconds *int `json:"remainingSeconds,omitempty"`
Type string `json:"type"`
GroupID string `json:"groupId,omitempty"`
GroupName string `json:"groupName,omitempty"`
}
// statusOutput is the JSON representation of grant status.
type statusOutput struct {
Authenticated bool `json:"authenticated"`
Username string `json:"username,omitempty"`
Sessions []sessionOutput `json:"sessions"`
}
// revocationOutput is the JSON representation of a revocation result.
type revocationOutput struct {
SessionID string `json:"sessionId"`
Status string `json:"status"`
}
// favoriteOutput is the JSON representation of a saved favorite.
type favoriteOutput struct {
Name string `json:"name"`
Type string `json:"type"`
Provider string `json:"provider"`
Target string `json:"target,omitempty"`
Role string `json:"role,omitempty"`
Group string `json:"group,omitempty"`
DirectoryID string `json:"directoryId,omitempty"`
}
// accessRequestOutput is the JSON representation of an access request.
type accessRequestOutput struct {
RequestID string `json:"requestId"`
TargetCategory string `json:"targetCategory"`
State string `json:"state"`
Result string `json:"result"`
Priority string `json:"priority,omitempty"`
Reason string `json:"reason,omitempty"`
Provider string `json:"provider,omitempty"`
Target string `json:"target,omitempty"`
Role string `json:"role,omitempty"`
RequestDate string `json:"requestDate,omitempty"`
Timezone string `json:"timezone,omitempty"`
TimeFrom string `json:"timeFrom,omitempty"`
TimeTo string `json:"timeTo,omitempty"`
FinalizationReason string `json:"finalizationReason,omitempty"`
RequestLink string `json:"requestLink,omitempty"`
CreatedBy string `json:"createdBy"`
CreatedAt string `json:"createdAt"`
UpdatedBy string `json:"updatedBy"`
UpdatedAt string `json:"updatedAt"`
}
// accessRequestListOutput is the JSON representation of a list of access requests.
type accessRequestListOutput struct {
Requests []accessRequestOutput `json:"requests"`
TotalCount int `json:"totalCount"`
}