1package ram
2
3import (
4	"github.com/denverdino/aliyungo/common"
5)
6
7/*
8	All common struct
9*/
10
11const (
12	Active   State = "Active"
13	Inactive State = "Inactive"
14)
15
16/*
17	AccountAlias
18	类型:String
19	必须:是
20	描述:指定云账号的别名, 长度限制为3-63个字符
21	限制:^[a-z0-9](([a-z0-9]|-(?!-))*[a-z0-9])?$
22*/
23type AccountAlias string
24
25type UserQueryRequest struct {
26	UserName string
27}
28
29type User struct {
30	UserId        string
31	UserName      string
32	DisplayName   string
33	MobilePhone   string
34	Email         string
35	Comments      string
36	CreateDate    string
37	UpdateDate    string
38	LastLoginDate string
39}
40
41type LoginProfile struct {
42	UserName              string
43	PasswordResetRequired bool
44	MFABindRequired       bool
45}
46
47type MFADevice struct {
48	SerialNumber string
49}
50
51type VirtualMFADevice struct {
52	SerialNumber     string
53	Base32StringSeed string
54	QRCodePNG        string
55	ActivateDate     string
56	User             User
57}
58
59type AccessKey struct {
60	AccessKeyId     string
61	AccessKeySecret string
62	Status          State
63	CreateDate      string
64}
65
66type Group struct {
67	GroupName string
68	Comments  string
69}
70
71type Role struct {
72	RoleId                   string
73	RoleName                 string
74	Arn                      string
75	Description              string
76	AssumeRolePolicyDocument string
77	CreateDate               string
78	UpdateDate               string
79}
80
81type Policy struct {
82	PolicyName      string
83	PolicyType      string
84	Description     string
85	DefaultVersion  string
86	CreateDate      string
87	UpdateDate      string
88	AttachmentCount int64
89}
90
91type PolicyVersion struct {
92	VersionId        string
93	IsDefaultVersion bool
94	CreateDate       string
95	PolicyDocument   string
96}
97
98type PolicyDocument struct {
99	Statement []PolicyItem
100	Version   string
101}
102
103type PolicyItem struct {
104	Action   string
105	Effect   string
106	Resource string
107}
108
109type AssumeRolePolicyDocument struct {
110	Statement []AssumeRolePolicyItem
111	Version   string
112}
113
114type AssumeRolePolicyItem struct {
115	Action    string
116	Effect    string
117	Principal AssumeRolePolicyPrincpal
118}
119
120type AssumeRolePolicyPrincpal struct {
121	RAM []string
122}
123
124/*
125	"PasswordPolicy": {
126        "MinimumPasswordLength": 12,
127        "RequireLowercaseCharacters": true,
128        "RequireUppercaseCharacters": true,
129        "RequireNumbers": true,
130        "RequireSymbols": true
131    }
132*/
133
134type PasswordPolicy struct {
135	MinimumPasswordLength      int8
136	RequireLowercaseCharacters bool
137	RequireUppercaseCharacters bool
138	RequireNumbers             bool
139	RequireSymbols             bool
140}
141
142type RamCommonResponse struct {
143	common.Response
144}
145