1package credentials
2
3// Deprecated: Use RamRoleArnCredential in this package instead.
4type StsRoleArnCredential struct {
5	AccessKeyId           string
6	AccessKeySecret       string
7	RoleArn               string
8	RoleSessionName       string
9	RoleSessionExpiration int
10}
11
12type RamRoleArnCredential struct {
13	AccessKeyId           string
14	AccessKeySecret       string
15	RoleArn               string
16	RoleSessionName       string
17	RoleSessionExpiration int
18	Policy                string
19	StsRegion             string
20}
21
22// Deprecated: Use RamRoleArnCredential in this package instead.
23func NewStsRoleArnCredential(accessKeyId, accessKeySecret, roleArn, roleSessionName string, roleSessionExpiration int) *StsRoleArnCredential {
24	return &StsRoleArnCredential{
25		AccessKeyId:           accessKeyId,
26		AccessKeySecret:       accessKeySecret,
27		RoleArn:               roleArn,
28		RoleSessionName:       roleSessionName,
29		RoleSessionExpiration: roleSessionExpiration,
30	}
31}
32
33func (oldCred *StsRoleArnCredential) ToRamRoleArnCredential() *RamRoleArnCredential {
34	return &RamRoleArnCredential{
35		AccessKeyId:           oldCred.AccessKeyId,
36		AccessKeySecret:       oldCred.AccessKeySecret,
37		RoleArn:               oldCred.RoleArn,
38		RoleSessionName:       oldCred.RoleSessionName,
39		RoleSessionExpiration: oldCred.RoleSessionExpiration,
40	}
41}
42
43func NewRamRoleArnCredential(accessKeyId, accessKeySecret, roleArn, roleSessionName string, roleSessionExpiration int) *RamRoleArnCredential {
44	return &RamRoleArnCredential{
45		AccessKeyId:           accessKeyId,
46		AccessKeySecret:       accessKeySecret,
47		RoleArn:               roleArn,
48		RoleSessionName:       roleSessionName,
49		RoleSessionExpiration: roleSessionExpiration,
50	}
51}
52
53func NewRamRoleArnWithPolicyCredential(accessKeyId, accessKeySecret, roleArn, roleSessionName, policy string, roleSessionExpiration int) *RamRoleArnCredential {
54	return &RamRoleArnCredential{
55		AccessKeyId:           accessKeyId,
56		AccessKeySecret:       accessKeySecret,
57		RoleArn:               roleArn,
58		RoleSessionName:       roleSessionName,
59		RoleSessionExpiration: roleSessionExpiration,
60		Policy:                policy,
61	}
62}
63