-
Notifications
You must be signed in to change notification settings - Fork 597
/
api_op_CreateAccessKey.go
139 lines (117 loc) · 4.38 KB
/
api_op_CreateAccessKey.go
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
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package iam
import (
"context"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/internal/awsutil"
)
type CreateAccessKeyInput struct {
_ struct{} `type:"structure"`
// The name of the IAM user that the new key will belong to.
//
// This parameter allows (through its regex pattern (http://wikipedia.org/wiki/regex))
// a string of characters consisting of upper and lowercase alphanumeric characters
// with no spaces. You can also include any of the following characters: _+=,.@-
UserName *string `min:"1" type:"string"`
}
// String returns the string representation
func (s CreateAccessKeyInput) String() string {
return awsutil.Prettify(s)
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateAccessKeyInput) Validate() error {
invalidParams := aws.ErrInvalidParams{Context: "CreateAccessKeyInput"}
if s.UserName != nil && len(*s.UserName) < 1 {
invalidParams.Add(aws.NewErrParamMinLen("UserName", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// Contains the response to a successful CreateAccessKey request.
type CreateAccessKeyOutput struct {
_ struct{} `type:"structure"`
// A structure with details about the access key.
//
// AccessKey is a required field
AccessKey *AccessKey `type:"structure" required:"true"`
}
// String returns the string representation
func (s CreateAccessKeyOutput) String() string {
return awsutil.Prettify(s)
}
const opCreateAccessKey = "CreateAccessKey"
// CreateAccessKeyRequest returns a request value for making API operation for
// AWS Identity and Access Management.
//
// Creates a new AWS secret access key and corresponding AWS access key ID for
// the specified user. The default status for new keys is Active.
//
// If you do not specify a user name, IAM determines the user name implicitly
// based on the AWS access key ID signing the request. This operation works
// for access keys under the AWS account. Consequently, you can use this operation
// to manage AWS account root user credentials. This is true even if the AWS
// account has no associated users.
//
// For information about limits on the number of keys you can create, see Limitations
// on IAM Entities (https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html)
// in the IAM User Guide.
//
// To ensure the security of your AWS account, the secret access key is accessible
// only during key and user creation. You must save the key (for example, in
// a text file) if you want to be able to access it again. If a secret key is
// lost, you can delete the access keys for the associated user and then create
// new keys.
//
// // Example sending a request using CreateAccessKeyRequest.
// req := client.CreateAccessKeyRequest(params)
// resp, err := req.Send(context.TODO())
// if err == nil {
// fmt.Println(resp)
// }
//
// Please also see https://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/CreateAccessKey
func (c *Client) CreateAccessKeyRequest(input *CreateAccessKeyInput) CreateAccessKeyRequest {
op := &aws.Operation{
Name: opCreateAccessKey,
HTTPMethod: "POST",
HTTPPath: "/",
}
if input == nil {
input = &CreateAccessKeyInput{}
}
req := c.newRequest(op, input, &CreateAccessKeyOutput{})
return CreateAccessKeyRequest{Request: req, Input: input, Copy: c.CreateAccessKeyRequest}
}
// CreateAccessKeyRequest is the request type for the
// CreateAccessKey API operation.
type CreateAccessKeyRequest struct {
*aws.Request
Input *CreateAccessKeyInput
Copy func(*CreateAccessKeyInput) CreateAccessKeyRequest
}
// Send marshals and sends the CreateAccessKey API request.
func (r CreateAccessKeyRequest) Send(ctx context.Context) (*CreateAccessKeyResponse, error) {
r.Request.SetContext(ctx)
err := r.Request.Send()
if err != nil {
return nil, err
}
resp := &CreateAccessKeyResponse{
CreateAccessKeyOutput: r.Request.Data.(*CreateAccessKeyOutput),
response: &aws.Response{Request: r.Request},
}
return resp, nil
}
// CreateAccessKeyResponse is the response type for the
// CreateAccessKey API operation.
type CreateAccessKeyResponse struct {
*CreateAccessKeyOutput
response *aws.Response
}
// SDKResponseMetdata returns the response metadata for the
// CreateAccessKey request.
func (r *CreateAccessKeyResponse) SDKResponseMetdata() *aws.Response {
return r.response
}