You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
32 lines
689 B
32 lines
689 B
package sts
|
|
|
|
type (
|
|
Authorization struct {
|
|
Expiration string
|
|
AccessKeyId string
|
|
AccessKeySecret string
|
|
SecurityToken string
|
|
}
|
|
ISys interface {
|
|
//roleArn:角色ARN。
|
|
AssumeRole(roleArn, roleSessionName string) (auth *Authorization, err error)
|
|
}
|
|
)
|
|
|
|
var (
|
|
defsys ISys
|
|
)
|
|
|
|
func OnInit(config map[string]interface{}, option ...Option) (err error) {
|
|
defsys, err = newSys(newOptions(config, option...))
|
|
return
|
|
}
|
|
|
|
func NewSys(option ...Option) (sys ISys, err error) {
|
|
sys, err = newSys(newOptionsByOption(option...))
|
|
return
|
|
}
|
|
|
|
func AssumeRole(roleArn, roleSessionName string) (auth *Authorization, err error) {
|
|
return defsys.AssumeRole(roleArn, roleSessionName)
|
|
}
|
|
|