-
Notifications
You must be signed in to change notification settings - Fork 626
/
api_op_CreateHsm.go
188 lines (166 loc) · 6.06 KB
/
api_op_CreateHsm.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
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
// Code generated by smithy-go-codegen DO NOT EDIT.
package cloudhsm
import (
"context"
"fmt"
awsmiddleware "github.com/aws/aws-sdk-go-v2/aws/middleware"
"github.com/aws/aws-sdk-go-v2/aws/signer/v4"
"github.com/aws/aws-sdk-go-v2/service/cloudhsm/types"
"github.com/aws/smithy-go/middleware"
smithyhttp "github.com/aws/smithy-go/transport/http"
)
// This is documentation for AWS CloudHSM Classic. For more information, see AWS
// CloudHSM Classic FAQs (http://aws.amazon.com/cloudhsm/faqs-classic/) , the AWS
// CloudHSM Classic User Guide (https://docs.aws.amazon.com/cloudhsm/classic/userguide/)
// , and the AWS CloudHSM Classic API Reference (https://docs.aws.amazon.com/cloudhsm/classic/APIReference/)
// . For information about the current version of AWS CloudHSM, see AWS CloudHSM (http://aws.amazon.com/cloudhsm/)
// , the AWS CloudHSM User Guide (https://docs.aws.amazon.com/cloudhsm/latest/userguide/)
// , and the AWS CloudHSM API Reference (https://docs.aws.amazon.com/cloudhsm/latest/APIReference/)
// . Creates an uninitialized HSM instance. There is an upfront fee charged for
// each HSM instance that you create with the CreateHsm operation. If you
// accidentally provision an HSM and want to request a refund, delete the instance
// using the DeleteHsm operation, go to the AWS Support Center (https://console.aws.amazon.com/support/home)
// , create a new case, and select Account and Billing Support. It can take up to
// 20 minutes to create and provision an HSM. You can monitor the status of the HSM
// with the DescribeHsm operation. The HSM is ready to be initialized when the
// status changes to RUNNING .
//
// Deprecated: This API is deprecated.
func (c *Client) CreateHsm(ctx context.Context, params *CreateHsmInput, optFns ...func(*Options)) (*CreateHsmOutput, error) {
if params == nil {
params = &CreateHsmInput{}
}
result, metadata, err := c.invokeOperation(ctx, "CreateHsm", params, optFns, c.addOperationCreateHsmMiddlewares)
if err != nil {
return nil, err
}
out := result.(*CreateHsmOutput)
out.ResultMetadata = metadata
return out, nil
}
// Contains the inputs for the CreateHsm operation.
type CreateHsmInput struct {
// The ARN of an IAM role to enable the AWS CloudHSM service to allocate an ENI on
// your behalf.
//
// This member is required.
IamRoleArn *string
// The SSH public key to install on the HSM.
//
// This member is required.
SshKey *string
// The identifier of the subnet in your VPC in which to place the HSM.
//
// This member is required.
SubnetId *string
// Specifies the type of subscription for the HSM.
// - PRODUCTION - The HSM is being used in a production environment.
// - TRIAL - The HSM is being used in a product trial.
//
// This member is required.
SubscriptionType types.SubscriptionType
// A user-defined token to ensure idempotence. Subsequent calls to this operation
// with the same token will be ignored.
ClientToken *string
// The IP address to assign to the HSM's ENI. If an IP address is not specified,
// an IP address will be randomly chosen from the CIDR range of the subnet.
EniIp *string
// The external ID from IamRoleArn , if present.
ExternalId *string
// The IP address for the syslog monitoring server. The AWS CloudHSM service only
// supports one syslog monitoring server.
SyslogIp *string
noSmithyDocumentSerde
}
// Contains the output of the CreateHsm operation.
type CreateHsmOutput struct {
// The ARN of the HSM.
HsmArn *string
// Metadata pertaining to the operation's result.
ResultMetadata middleware.Metadata
noSmithyDocumentSerde
}
func (c *Client) addOperationCreateHsmMiddlewares(stack *middleware.Stack, options Options) (err error) {
if err := stack.Serialize.Add(&setOperationInputMiddleware{}, middleware.After); err != nil {
return err
}
err = stack.Serialize.Add(&awsAwsjson11_serializeOpCreateHsm{}, middleware.After)
if err != nil {
return err
}
err = stack.Deserialize.Add(&awsAwsjson11_deserializeOpCreateHsm{}, middleware.After)
if err != nil {
return err
}
if err := addProtocolFinalizerMiddlewares(stack, options, "CreateHsm"); err != nil {
return fmt.Errorf("add protocol finalizers: %v", err)
}
if err = addlegacyEndpointContextSetter(stack, options); err != nil {
return err
}
if err = addSetLoggerMiddleware(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddClientRequestIDMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddComputeContentLengthMiddleware(stack); err != nil {
return err
}
if err = addResolveEndpointMiddleware(stack, options); err != nil {
return err
}
if err = v4.AddComputePayloadSHA256Middleware(stack); err != nil {
return err
}
if err = addRetryMiddlewares(stack, options); err != nil {
return err
}
if err = awsmiddleware.AddRawResponseToMetadata(stack); err != nil {
return err
}
if err = awsmiddleware.AddRecordResponseTiming(stack); err != nil {
return err
}
if err = addClientUserAgent(stack, options); err != nil {
return err
}
if err = smithyhttp.AddErrorCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = smithyhttp.AddCloseResponseBodyMiddleware(stack); err != nil {
return err
}
if err = addSetLegacyContextSigningOptionsMiddleware(stack); err != nil {
return err
}
if err = addOpCreateHsmValidationMiddleware(stack); err != nil {
return err
}
if err = stack.Initialize.Add(newServiceMetadataMiddleware_opCreateHsm(options.Region), middleware.Before); err != nil {
return err
}
if err = awsmiddleware.AddRecursionDetection(stack); err != nil {
return err
}
if err = addRequestIDRetrieverMiddleware(stack); err != nil {
return err
}
if err = addResponseErrorMiddleware(stack); err != nil {
return err
}
if err = addRequestResponseLogging(stack, options); err != nil {
return err
}
if err = addDisableHTTPSMiddleware(stack, options); err != nil {
return err
}
return nil
}
func newServiceMetadataMiddleware_opCreateHsm(region string) *awsmiddleware.RegisterServiceMetadata {
return &awsmiddleware.RegisterServiceMetadata{
Region: region,
ServiceID: ServiceID,
OperationName: "CreateHsm",
}
}