| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071 |
- package aws
- import "time"
- type VirtualMFADevice struct {
- EnableDate time.Time
- SerialNumber string
- Base32StringSeed string
- QRCodePNG string
- User struct {
- UserName string
- Arn string
- UserId string
- CreateDate time.Time
- }
- }
- func (cli *SAwsClient) GetVirtualMFADevices() ([]VirtualMFADevice, error) {
- ret := []VirtualMFADevice{}
- for {
- params := map[string]string{}
- part := struct {
- Marker string `xml:"Marker"`
- VirtualMFADevices []VirtualMFADevice `xml:"VirtualMFADevices>member"`
- }{}
- err := cli.iamRequest("ListVirtualMFADevices", params, &part)
- if err != nil {
- return nil, err
- }
- ret = append(ret, part.VirtualMFADevices...)
- if len(part.VirtualMFADevices) == 0 || len(part.Marker) == 0 {
- break
- }
- params["Marker"] = part.Marker
- }
- return ret, nil
- }
- func (cli *SAwsClient) DeleteVirtualMFADevice(serialNumber, userName string) error {
- params := map[string]string{
- "SerialNumber": serialNumber,
- }
- if len(userName) > 0 {
- params["UserName"] = userName
- }
- return cli.iamRequest("DeactivateMFADevice", params, nil)
- }
- func (cli *SAwsClient) CreateVirtualMFADevice(name string) (*VirtualMFADevice, error) {
- params := map[string]string{
- "VirtualMFADeviceName": name,
- }
- ret := struct {
- VirtualMFADevice VirtualMFADevice `xml:"VirtualMFADevice"`
- }{}
- err := cli.iamRequest("CreateVirtualMFADevice", params, &ret)
- if err != nil {
- return nil, err
- }
- return &ret.VirtualMFADevice, nil
- }
- func (cli *SAwsClient) ResyncMFADevice(serialNumber, userName, code1, code2 string) error {
- params := map[string]string{
- "SerialNumber": serialNumber,
- "AuthenticationCode1": code1,
- "AuthenticationCode2": code2,
- "UserName": userName,
- }
- return cli.iamRequest("ResyncMFADevice", params, nil)
- }
|