aws-sdk-cloudhsm 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 2f041ccb998be999267d694dd838b5e200bcf1b2
4
+ data.tar.gz: b5723153393a60a7a1e842b7669c1b5e6d84df6d
5
+ SHA512:
6
+ metadata.gz: eadbb4695f602682738b0fbee973a5133fdb16a186a7ac168da6f49fe4173b52b613ed7ac2a0fdf975c214a5c0e8bb1e75a43589fc7bc0094861e234d52f6dcc
7
+ data.tar.gz: 66c2cfc1e2a2ea98ab45abdc178e544e6b9d4553fd32ee8b6aa93f5c518027db4ec198c4d5fa9b1345188ce1119a438cf087633d6cd5dc109b917d7801b205fd
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-cloudhsm/types'
12
+ require_relative 'aws-sdk-cloudhsm/client_api'
13
+ require_relative 'aws-sdk-cloudhsm/client'
14
+ require_relative 'aws-sdk-cloudhsm/errors'
15
+ require_relative 'aws-sdk-cloudhsm/resource'
16
+ require_relative 'aws-sdk-cloudhsm/customizations'
17
+
18
+ # This module provides support for Amazon CloudHSM. This module is available in the
19
+ # `aws-sdk-cloudhsm` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon CloudHSM all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::CloudHSM::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::CloudHSM
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,829 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing for info on making contributions:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/response_paging.rb'
19
+ require 'aws-sdk-core/plugins/stub_responses.rb'
20
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
21
+ require 'aws-sdk-core/plugins/signature_v4.rb'
22
+ require 'aws-sdk-core/plugins/protocols/json_rpc.rb'
23
+
24
+ Aws::Plugins::GlobalConfiguration.add_identifier(:cloudhsm)
25
+
26
+ module Aws
27
+ module CloudHSM
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :cloudhsm
33
+
34
+ set_api(ClientApi::API)
35
+
36
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
37
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
38
+ add_plugin(Aws::Plugins::Logging)
39
+ add_plugin(Aws::Plugins::ParamConverter)
40
+ add_plugin(Aws::Plugins::ParamValidator)
41
+ add_plugin(Aws::Plugins::UserAgent)
42
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
43
+ add_plugin(Aws::Plugins::RetryErrors)
44
+ add_plugin(Aws::Plugins::GlobalConfiguration)
45
+ add_plugin(Aws::Plugins::RegionalEndpoint)
46
+ add_plugin(Aws::Plugins::ResponsePaging)
47
+ add_plugin(Aws::Plugins::StubResponses)
48
+ add_plugin(Aws::Plugins::IdempotencyToken)
49
+ add_plugin(Aws::Plugins::SignatureV4)
50
+ add_plugin(Aws::Plugins::Protocols::JsonRpc)
51
+
52
+ # @option options [required, Aws::CredentialProvider] :credentials
53
+ # Your AWS credentials. This can be an instance of any one of the
54
+ # following classes:
55
+ #
56
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
57
+ # credentials.
58
+ #
59
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
60
+ # from an EC2 IMDS on an EC2 instance.
61
+ #
62
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
63
+ # shared file, such as `~/.aws/config`.
64
+ #
65
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
66
+ #
67
+ # When `:credentials` are not configured directly, the following
68
+ # locations will be searched for credentials:
69
+ #
70
+ # * `Aws.config[:credentials]`
71
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
72
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
73
+ # * `~/.aws/credentials`
74
+ # * `~/.aws/config`
75
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
76
+ # very aggressive. Construct and pass an instance of
77
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
78
+ # timeouts.
79
+ # @option options [required, String] :region
80
+ # The AWS region to connect to. The configured `:region` is
81
+ # used to determine the service `:endpoint`. When not passed,
82
+ # a default `:region` is search for in the following locations:
83
+ #
84
+ # * `Aws.config[:region]`
85
+ # * `ENV['AWS_REGION']`
86
+ # * `ENV['AMAZON_REGION']`
87
+ # * `ENV['AWS_DEFAULT_REGION']`
88
+ # * `~/.aws/credentials`
89
+ # * `~/.aws/config`
90
+ # @option options [String] :access_key_id
91
+ # @option options [Boolean] :convert_params (true)
92
+ # When `true`, an attempt is made to coerce request parameters into
93
+ # the required types.
94
+ # @option options [String] :endpoint
95
+ # The client endpoint is normally constructed from the `:region`
96
+ # option. You should only configure an `:endpoint` when connecting
97
+ # to test endpoints. This should be avalid HTTP(S) URI.
98
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
99
+ # The log formatter.
100
+ # @option options [Symbol] :log_level (:info)
101
+ # The log level to send messages to the `:logger` at.
102
+ # @option options [Logger] :logger
103
+ # The Logger instance to send log messages to. If this option
104
+ # is not set, logging will be disabled.
105
+ # @option options [String] :profile ("default")
106
+ # Used when loading credentials from the shared credentials file
107
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
108
+ # @option options [Integer] :retry_limit (3)
109
+ # The maximum number of times to retry failed requests. Only
110
+ # ~ 500 level server errors and certain ~ 400 level client errors
111
+ # are retried. Generally, these are throttling errors, data
112
+ # checksum errors, networking errors, timeout errors and auth
113
+ # errors from expired credentials.
114
+ # @option options [String] :secret_access_key
115
+ # @option options [String] :session_token
116
+ # @option options [Boolean] :simple_json (false)
117
+ # Disables request parameter conversion, validation, and formatting.
118
+ # Also disable response data type conversions. This option is useful
119
+ # when you want to ensure the highest level of performance by
120
+ # avoiding overhead of walking request parameters and response data
121
+ # structures.
122
+ #
123
+ # When `:simple_json` is enabled, the request parameters hash must
124
+ # be formatted exactly as the DynamoDB API expects.
125
+ # @option options [Boolean] :stub_responses (false)
126
+ # Causes the client to return stubbed responses. By default
127
+ # fake responses are generated and returned. You can specify
128
+ # the response data to return or errors to raise by calling
129
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
130
+ #
131
+ # ** Please note ** When response stubbing is enabled, no HTTP
132
+ # requests are made, and retries are disabled.
133
+ # @option options [Boolean] :validate_params (true)
134
+ # When `true`, request parameters are validated before
135
+ # sending the request.
136
+ def initialize(*args)
137
+ super
138
+ end
139
+
140
+ # @!group API Operations
141
+
142
+ # Adds or overwrites one or more tags for the specified AWS CloudHSM
143
+ # resource.
144
+ #
145
+ # Each tag consists of a key and a value. Tag keys must be unique to
146
+ # each resource.
147
+ # @option params [required, String] :resource_arn
148
+ # The Amazon Resource Name (ARN) of the AWS CloudHSM resource to tag.
149
+ # @option params [required, Array<Types::Tag>] :tag_list
150
+ # One or more tags.
151
+ # @return [Types::AddTagsToResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
152
+ #
153
+ # * {Types::AddTagsToResourceResponse#status #Status} => String
154
+ #
155
+ # @example Request syntax with placeholder values
156
+ # resp = client.add_tags_to_resource({
157
+ # resource_arn: "String", # required
158
+ # tag_list: [ # required
159
+ # {
160
+ # key: "TagKey", # required
161
+ # value: "TagValue", # required
162
+ # },
163
+ # ],
164
+ # })
165
+ #
166
+ # @example Response structure
167
+ # resp.status #=> String
168
+ # @overload add_tags_to_resource(params = {})
169
+ # @param [Hash] params ({})
170
+ def add_tags_to_resource(params = {}, options = {})
171
+ req = build_request(:add_tags_to_resource, params)
172
+ req.send_request(options)
173
+ end
174
+
175
+ # Creates a high-availability partition group. A high-availability
176
+ # partition group is a group of partitions that spans multiple physical
177
+ # HSMs.
178
+ # @option params [required, String] :label
179
+ # The label of the new high-availability partition group.
180
+ # @return [Types::CreateHapgResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
181
+ #
182
+ # * {Types::CreateHapgResponse#hapg_arn #HapgArn} => String
183
+ #
184
+ # @example Request syntax with placeholder values
185
+ # resp = client.create_hapg({
186
+ # label: "Label", # required
187
+ # })
188
+ #
189
+ # @example Response structure
190
+ # resp.hapg_arn #=> String
191
+ # @overload create_hapg(params = {})
192
+ # @param [Hash] params ({})
193
+ def create_hapg(params = {}, options = {})
194
+ req = build_request(:create_hapg, params)
195
+ req.send_request(options)
196
+ end
197
+
198
+ # Creates an uninitialized HSM instance.
199
+ #
200
+ # There is an upfront fee charged for each HSM instance that you create
201
+ # with the CreateHsm operation. If you accidentally provision an HSM and
202
+ # want to request a refund, delete the instance using the DeleteHsm
203
+ # operation, go to the [AWS Support Center][1], create a new case, and
204
+ # select **Account and Billing Support**.
205
+ #
206
+ # It can take up to 20 minutes to create and provision an HSM. You can
207
+ # monitor the status of the HSM with the DescribeHsm operation. The HSM
208
+ # is ready to be initialized when the status changes to `RUNNING`.
209
+ #
210
+ #
211
+ #
212
+ # [1]: https://console.aws.amazon.com/support/home#/
213
+ # @option params [required, String] :subnet_id
214
+ # The identifier of the subnet in your VPC in which to place the HSM.
215
+ # @option params [required, String] :ssh_key
216
+ # The SSH public key to install on the HSM.
217
+ # @option params [String] :eni_ip
218
+ # The IP address to assign to the HSM's ENI.
219
+ #
220
+ # If an IP address is not specified, an IP address will be randomly
221
+ # chosen from the CIDR range of the subnet.
222
+ # @option params [required, String] :iam_role_arn
223
+ # The ARN of an IAM role to enable the AWS CloudHSM service to allocate
224
+ # an ENI on your behalf.
225
+ # @option params [String] :external_id
226
+ # The external ID from **IamRoleArn**, if present.
227
+ # @option params [required, String] :subscription_type
228
+ # Specifies the type of subscription for the HSM.
229
+ #
230
+ # * **PRODUCTION** - The HSM is being used in a production environment.
231
+ # * **TRIAL** - The HSM is being used in a product trial.
232
+ # @option params [String] :client_token
233
+ # A user-defined token to ensure idempotence. Subsequent calls to this
234
+ # operation with the same token will be ignored.
235
+ # @option params [String] :syslog_ip
236
+ # The IP address for the syslog monitoring server. The AWS CloudHSM
237
+ # service only supports one syslog monitoring server.
238
+ # @return [Types::CreateHsmResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
239
+ #
240
+ # * {Types::CreateHsmResponse#hsm_arn #HsmArn} => String
241
+ #
242
+ # @example Request syntax with placeholder values
243
+ # resp = client.create_hsm({
244
+ # subnet_id: "SubnetId", # required
245
+ # ssh_key: "SshKey", # required
246
+ # eni_ip: "IpAddress",
247
+ # iam_role_arn: "IamRoleArn", # required
248
+ # external_id: "ExternalId",
249
+ # subscription_type: "PRODUCTION", # required, accepts PRODUCTION
250
+ # client_token: "ClientToken",
251
+ # syslog_ip: "IpAddress",
252
+ # })
253
+ #
254
+ # @example Response structure
255
+ # resp.hsm_arn #=> String
256
+ # @overload create_hsm(params = {})
257
+ # @param [Hash] params ({})
258
+ def create_hsm(params = {}, options = {})
259
+ req = build_request(:create_hsm, params)
260
+ req.send_request(options)
261
+ end
262
+
263
+ # Creates an HSM client.
264
+ # @option params [String] :label
265
+ # The label for the client.
266
+ # @option params [required, String] :certificate
267
+ # The contents of a Base64-Encoded X.509 v3 certificate to be installed
268
+ # on the HSMs used by this client.
269
+ # @return [Types::CreateLunaClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
270
+ #
271
+ # * {Types::CreateLunaClientResponse#client_arn #ClientArn} => String
272
+ #
273
+ # @example Request syntax with placeholder values
274
+ # resp = client.create_luna_client({
275
+ # label: "ClientLabel",
276
+ # certificate: "Certificate", # required
277
+ # })
278
+ #
279
+ # @example Response structure
280
+ # resp.client_arn #=> String
281
+ # @overload create_luna_client(params = {})
282
+ # @param [Hash] params ({})
283
+ def create_luna_client(params = {}, options = {})
284
+ req = build_request(:create_luna_client, params)
285
+ req.send_request(options)
286
+ end
287
+
288
+ # Deletes a high-availability partition group.
289
+ # @option params [required, String] :hapg_arn
290
+ # The ARN of the high-availability partition group to delete.
291
+ # @return [Types::DeleteHapgResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
292
+ #
293
+ # * {Types::DeleteHapgResponse#status #Status} => String
294
+ #
295
+ # @example Request syntax with placeholder values
296
+ # resp = client.delete_hapg({
297
+ # hapg_arn: "HapgArn", # required
298
+ # })
299
+ #
300
+ # @example Response structure
301
+ # resp.status #=> String
302
+ # @overload delete_hapg(params = {})
303
+ # @param [Hash] params ({})
304
+ def delete_hapg(params = {}, options = {})
305
+ req = build_request(:delete_hapg, params)
306
+ req.send_request(options)
307
+ end
308
+
309
+ # Deletes an HSM. After completion, this operation cannot be undone and
310
+ # your key material cannot be recovered.
311
+ # @option params [required, String] :hsm_arn
312
+ # The ARN of the HSM to delete.
313
+ # @return [Types::DeleteHsmResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
314
+ #
315
+ # * {Types::DeleteHsmResponse#status #Status} => String
316
+ #
317
+ # @example Request syntax with placeholder values
318
+ # resp = client.delete_hsm({
319
+ # hsm_arn: "HsmArn", # required
320
+ # })
321
+ #
322
+ # @example Response structure
323
+ # resp.status #=> String
324
+ # @overload delete_hsm(params = {})
325
+ # @param [Hash] params ({})
326
+ def delete_hsm(params = {}, options = {})
327
+ req = build_request(:delete_hsm, params)
328
+ req.send_request(options)
329
+ end
330
+
331
+ # Deletes a client.
332
+ # @option params [required, String] :client_arn
333
+ # The ARN of the client to delete.
334
+ # @return [Types::DeleteLunaClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
335
+ #
336
+ # * {Types::DeleteLunaClientResponse#status #Status} => String
337
+ #
338
+ # @example Request syntax with placeholder values
339
+ # resp = client.delete_luna_client({
340
+ # client_arn: "ClientArn", # required
341
+ # })
342
+ #
343
+ # @example Response structure
344
+ # resp.status #=> String
345
+ # @overload delete_luna_client(params = {})
346
+ # @param [Hash] params ({})
347
+ def delete_luna_client(params = {}, options = {})
348
+ req = build_request(:delete_luna_client, params)
349
+ req.send_request(options)
350
+ end
351
+
352
+ # Retrieves information about a high-availability partition group.
353
+ # @option params [required, String] :hapg_arn
354
+ # The ARN of the high-availability partition group to describe.
355
+ # @return [Types::DescribeHapgResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
356
+ #
357
+ # * {Types::DescribeHapgResponse#hapg_arn #HapgArn} => String
358
+ # * {Types::DescribeHapgResponse#hapg_serial #HapgSerial} => String
359
+ # * {Types::DescribeHapgResponse#hsms_last_action_failed #HsmsLastActionFailed} => Array&lt;String&gt;
360
+ # * {Types::DescribeHapgResponse#hsms_pending_deletion #HsmsPendingDeletion} => Array&lt;String&gt;
361
+ # * {Types::DescribeHapgResponse#hsms_pending_registration #HsmsPendingRegistration} => Array&lt;String&gt;
362
+ # * {Types::DescribeHapgResponse#label #Label} => String
363
+ # * {Types::DescribeHapgResponse#last_modified_timestamp #LastModifiedTimestamp} => String
364
+ # * {Types::DescribeHapgResponse#partition_serial_list #PartitionSerialList} => Array&lt;String&gt;
365
+ # * {Types::DescribeHapgResponse#state #State} => String
366
+ #
367
+ # @example Request syntax with placeholder values
368
+ # resp = client.describe_hapg({
369
+ # hapg_arn: "HapgArn", # required
370
+ # })
371
+ #
372
+ # @example Response structure
373
+ # resp.hapg_arn #=> String
374
+ # resp.hapg_serial #=> String
375
+ # resp.hsms_last_action_failed #=> Array
376
+ # resp.hsms_last_action_failed[0] #=> String
377
+ # resp.hsms_pending_deletion #=> Array
378
+ # resp.hsms_pending_deletion[0] #=> String
379
+ # resp.hsms_pending_registration #=> Array
380
+ # resp.hsms_pending_registration[0] #=> String
381
+ # resp.label #=> String
382
+ # resp.last_modified_timestamp #=> String
383
+ # resp.partition_serial_list #=> Array
384
+ # resp.partition_serial_list[0] #=> String
385
+ # resp.state #=> String, one of "READY", "UPDATING", "DEGRADED"
386
+ # @overload describe_hapg(params = {})
387
+ # @param [Hash] params ({})
388
+ def describe_hapg(params = {}, options = {})
389
+ req = build_request(:describe_hapg, params)
390
+ req.send_request(options)
391
+ end
392
+
393
+ # Retrieves information about an HSM. You can identify the HSM by its
394
+ # ARN or its serial number.
395
+ # @option params [String] :hsm_arn
396
+ # The ARN of the HSM. Either the *HsmArn* or the *SerialNumber*
397
+ # parameter must be specified.
398
+ # @option params [String] :hsm_serial_number
399
+ # The serial number of the HSM. Either the *HsmArn* or the
400
+ # *HsmSerialNumber* parameter must be specified.
401
+ # @return [Types::DescribeHsmResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
402
+ #
403
+ # * {Types::DescribeHsmResponse#hsm_arn #HsmArn} => String
404
+ # * {Types::DescribeHsmResponse#status #Status} => String
405
+ # * {Types::DescribeHsmResponse#status_details #StatusDetails} => String
406
+ # * {Types::DescribeHsmResponse#availability_zone #AvailabilityZone} => String
407
+ # * {Types::DescribeHsmResponse#eni_id #EniId} => String
408
+ # * {Types::DescribeHsmResponse#eni_ip #EniIp} => String
409
+ # * {Types::DescribeHsmResponse#subscription_type #SubscriptionType} => String
410
+ # * {Types::DescribeHsmResponse#subscription_start_date #SubscriptionStartDate} => String
411
+ # * {Types::DescribeHsmResponse#subscription_end_date #SubscriptionEndDate} => String
412
+ # * {Types::DescribeHsmResponse#vpc_id #VpcId} => String
413
+ # * {Types::DescribeHsmResponse#subnet_id #SubnetId} => String
414
+ # * {Types::DescribeHsmResponse#iam_role_arn #IamRoleArn} => String
415
+ # * {Types::DescribeHsmResponse#serial_number #SerialNumber} => String
416
+ # * {Types::DescribeHsmResponse#vendor_name #VendorName} => String
417
+ # * {Types::DescribeHsmResponse#hsm_type #HsmType} => String
418
+ # * {Types::DescribeHsmResponse#software_version #SoftwareVersion} => String
419
+ # * {Types::DescribeHsmResponse#ssh_public_key #SshPublicKey} => String
420
+ # * {Types::DescribeHsmResponse#ssh_key_last_updated #SshKeyLastUpdated} => String
421
+ # * {Types::DescribeHsmResponse#server_cert_uri #ServerCertUri} => String
422
+ # * {Types::DescribeHsmResponse#server_cert_last_updated #ServerCertLastUpdated} => String
423
+ # * {Types::DescribeHsmResponse#partitions #Partitions} => Array&lt;String&gt;
424
+ #
425
+ # @example Request syntax with placeholder values
426
+ # resp = client.describe_hsm({
427
+ # hsm_arn: "HsmArn",
428
+ # hsm_serial_number: "HsmSerialNumber",
429
+ # })
430
+ #
431
+ # @example Response structure
432
+ # resp.hsm_arn #=> String
433
+ # resp.status #=> String, one of "PENDING", "RUNNING", "UPDATING", "SUSPENDED", "TERMINATING", "TERMINATED", "DEGRADED"
434
+ # resp.status_details #=> String
435
+ # resp.availability_zone #=> String
436
+ # resp.eni_id #=> String
437
+ # resp.eni_ip #=> String
438
+ # resp.subscription_type #=> String, one of "PRODUCTION"
439
+ # resp.subscription_start_date #=> String
440
+ # resp.subscription_end_date #=> String
441
+ # resp.vpc_id #=> String
442
+ # resp.subnet_id #=> String
443
+ # resp.iam_role_arn #=> String
444
+ # resp.serial_number #=> String
445
+ # resp.vendor_name #=> String
446
+ # resp.hsm_type #=> String
447
+ # resp.software_version #=> String
448
+ # resp.ssh_public_key #=> String
449
+ # resp.ssh_key_last_updated #=> String
450
+ # resp.server_cert_uri #=> String
451
+ # resp.server_cert_last_updated #=> String
452
+ # resp.partitions #=> Array
453
+ # resp.partitions[0] #=> String
454
+ # @overload describe_hsm(params = {})
455
+ # @param [Hash] params ({})
456
+ def describe_hsm(params = {}, options = {})
457
+ req = build_request(:describe_hsm, params)
458
+ req.send_request(options)
459
+ end
460
+
461
+ # Retrieves information about an HSM client.
462
+ # @option params [String] :client_arn
463
+ # The ARN of the client.
464
+ # @option params [String] :certificate_fingerprint
465
+ # The certificate fingerprint.
466
+ # @return [Types::DescribeLunaClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
467
+ #
468
+ # * {Types::DescribeLunaClientResponse#client_arn #ClientArn} => String
469
+ # * {Types::DescribeLunaClientResponse#certificate #Certificate} => String
470
+ # * {Types::DescribeLunaClientResponse#certificate_fingerprint #CertificateFingerprint} => String
471
+ # * {Types::DescribeLunaClientResponse#last_modified_timestamp #LastModifiedTimestamp} => String
472
+ # * {Types::DescribeLunaClientResponse#label #Label} => String
473
+ #
474
+ # @example Request syntax with placeholder values
475
+ # resp = client.describe_luna_client({
476
+ # client_arn: "ClientArn",
477
+ # certificate_fingerprint: "CertificateFingerprint",
478
+ # })
479
+ #
480
+ # @example Response structure
481
+ # resp.client_arn #=> String
482
+ # resp.certificate #=> String
483
+ # resp.certificate_fingerprint #=> String
484
+ # resp.last_modified_timestamp #=> String
485
+ # resp.label #=> String
486
+ # @overload describe_luna_client(params = {})
487
+ # @param [Hash] params ({})
488
+ def describe_luna_client(params = {}, options = {})
489
+ req = build_request(:describe_luna_client, params)
490
+ req.send_request(options)
491
+ end
492
+
493
+ # Gets the configuration files necessary to connect to all high
494
+ # availability partition groups the client is associated with.
495
+ # @option params [required, String] :client_arn
496
+ # The ARN of the client.
497
+ # @option params [required, String] :client_version
498
+ # The client version.
499
+ # @option params [required, Array<String>] :hapg_list
500
+ # A list of ARNs that identify the high-availability partition groups
501
+ # that are associated with the client.
502
+ # @return [Types::GetConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
503
+ #
504
+ # * {Types::GetConfigResponse#config_type #ConfigType} => String
505
+ # * {Types::GetConfigResponse#config_file #ConfigFile} => String
506
+ # * {Types::GetConfigResponse#config_cred #ConfigCred} => String
507
+ #
508
+ # @example Request syntax with placeholder values
509
+ # resp = client.get_config({
510
+ # client_arn: "ClientArn", # required
511
+ # client_version: "5.1", # required, accepts 5.1, 5.3
512
+ # hapg_list: ["HapgArn"], # required
513
+ # })
514
+ #
515
+ # @example Response structure
516
+ # resp.config_type #=> String
517
+ # resp.config_file #=> String
518
+ # resp.config_cred #=> String
519
+ # @overload get_config(params = {})
520
+ # @param [Hash] params ({})
521
+ def get_config(params = {}, options = {})
522
+ req = build_request(:get_config, params)
523
+ req.send_request(options)
524
+ end
525
+
526
+ # Lists the Availability Zones that have available AWS CloudHSM
527
+ # capacity.
528
+ # @return [Types::ListAvailableZonesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
529
+ #
530
+ # * {Types::ListAvailableZonesResponse#az_list #AZList} => Array&lt;String&gt;
531
+ #
532
+ # @example Request syntax with placeholder values
533
+ # resp = client.list_available_zones()
534
+ #
535
+ # @example Response structure
536
+ # resp.az_list #=> Array
537
+ # resp.az_list[0] #=> String
538
+ # @overload list_available_zones(params = {})
539
+ # @param [Hash] params ({})
540
+ def list_available_zones(params = {}, options = {})
541
+ req = build_request(:list_available_zones, params)
542
+ req.send_request(options)
543
+ end
544
+
545
+ # Lists the high-availability partition groups for the account.
546
+ #
547
+ # This operation supports pagination with the use of the *NextToken*
548
+ # member. If more results are available, the *NextToken* member of the
549
+ # response contains a token that you pass in the next call to ListHapgs
550
+ # to retrieve the next set of items.
551
+ # @option params [String] :next_token
552
+ # The *NextToken* value from a previous call to ListHapgs. Pass null if
553
+ # this is the first call.
554
+ # @return [Types::ListHapgsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
555
+ #
556
+ # * {Types::ListHapgsResponse#hapg_list #HapgList} => Array&lt;String&gt;
557
+ # * {Types::ListHapgsResponse#next_token #NextToken} => String
558
+ #
559
+ # @example Request syntax with placeholder values
560
+ # resp = client.list_hapgs({
561
+ # next_token: "PaginationToken",
562
+ # })
563
+ #
564
+ # @example Response structure
565
+ # resp.hapg_list #=> Array
566
+ # resp.hapg_list[0] #=> String
567
+ # resp.next_token #=> String
568
+ # @overload list_hapgs(params = {})
569
+ # @param [Hash] params ({})
570
+ def list_hapgs(params = {}, options = {})
571
+ req = build_request(:list_hapgs, params)
572
+ req.send_request(options)
573
+ end
574
+
575
+ # Retrieves the identifiers of all of the HSMs provisioned for the
576
+ # current customer.
577
+ #
578
+ # This operation supports pagination with the use of the *NextToken*
579
+ # member. If more results are available, the *NextToken* member of the
580
+ # response contains a token that you pass in the next call to ListHsms
581
+ # to retrieve the next set of items.
582
+ # @option params [String] :next_token
583
+ # The *NextToken* value from a previous call to ListHsms. Pass null if
584
+ # this is the first call.
585
+ # @return [Types::ListHsmsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
586
+ #
587
+ # * {Types::ListHsmsResponse#hsm_list #HsmList} => Array&lt;String&gt;
588
+ # * {Types::ListHsmsResponse#next_token #NextToken} => String
589
+ #
590
+ # @example Request syntax with placeholder values
591
+ # resp = client.list_hsms({
592
+ # next_token: "PaginationToken",
593
+ # })
594
+ #
595
+ # @example Response structure
596
+ # resp.hsm_list #=> Array
597
+ # resp.hsm_list[0] #=> String
598
+ # resp.next_token #=> String
599
+ # @overload list_hsms(params = {})
600
+ # @param [Hash] params ({})
601
+ def list_hsms(params = {}, options = {})
602
+ req = build_request(:list_hsms, params)
603
+ req.send_request(options)
604
+ end
605
+
606
+ # Lists all of the clients.
607
+ #
608
+ # This operation supports pagination with the use of the *NextToken*
609
+ # member. If more results are available, the *NextToken* member of the
610
+ # response contains a token that you pass in the next call to
611
+ # ListLunaClients to retrieve the next set of items.
612
+ # @option params [String] :next_token
613
+ # The *NextToken* value from a previous call to ListLunaClients. Pass
614
+ # null if this is the first call.
615
+ # @return [Types::ListLunaClientsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
616
+ #
617
+ # * {Types::ListLunaClientsResponse#client_list #ClientList} => Array&lt;String&gt;
618
+ # * {Types::ListLunaClientsResponse#next_token #NextToken} => String
619
+ #
620
+ # @example Request syntax with placeholder values
621
+ # resp = client.list_luna_clients({
622
+ # next_token: "PaginationToken",
623
+ # })
624
+ #
625
+ # @example Response structure
626
+ # resp.client_list #=> Array
627
+ # resp.client_list[0] #=> String
628
+ # resp.next_token #=> String
629
+ # @overload list_luna_clients(params = {})
630
+ # @param [Hash] params ({})
631
+ def list_luna_clients(params = {}, options = {})
632
+ req = build_request(:list_luna_clients, params)
633
+ req.send_request(options)
634
+ end
635
+
636
+ # Returns a list of all tags for the specified AWS CloudHSM resource.
637
+ # @option params [required, String] :resource_arn
638
+ # The Amazon Resource Name (ARN) of the AWS CloudHSM resource.
639
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
640
+ #
641
+ # * {Types::ListTagsForResourceResponse#tag_list #TagList} => Array&lt;Types::Tag&gt;
642
+ #
643
+ # @example Request syntax with placeholder values
644
+ # resp = client.list_tags_for_resource({
645
+ # resource_arn: "String", # required
646
+ # })
647
+ #
648
+ # @example Response structure
649
+ # resp.tag_list #=> Array
650
+ # resp.tag_list[0].key #=> String
651
+ # resp.tag_list[0].value #=> String
652
+ # @overload list_tags_for_resource(params = {})
653
+ # @param [Hash] params ({})
654
+ def list_tags_for_resource(params = {}, options = {})
655
+ req = build_request(:list_tags_for_resource, params)
656
+ req.send_request(options)
657
+ end
658
+
659
+ # Modifies an existing high-availability partition group.
660
+ # @option params [required, String] :hapg_arn
661
+ # The ARN of the high-availability partition group to modify.
662
+ # @option params [String] :label
663
+ # The new label for the high-availability partition group.
664
+ # @option params [Array<String>] :partition_serial_list
665
+ # The list of partition serial numbers to make members of the
666
+ # high-availability partition group.
667
+ # @return [Types::ModifyHapgResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
668
+ #
669
+ # * {Types::ModifyHapgResponse#hapg_arn #HapgArn} => String
670
+ #
671
+ # @example Request syntax with placeholder values
672
+ # resp = client.modify_hapg({
673
+ # hapg_arn: "HapgArn", # required
674
+ # label: "Label",
675
+ # partition_serial_list: ["PartitionSerial"],
676
+ # })
677
+ #
678
+ # @example Response structure
679
+ # resp.hapg_arn #=> String
680
+ # @overload modify_hapg(params = {})
681
+ # @param [Hash] params ({})
682
+ def modify_hapg(params = {}, options = {})
683
+ req = build_request(:modify_hapg, params)
684
+ req.send_request(options)
685
+ end
686
+
687
+ # Modifies an HSM.
688
+ #
689
+ # This operation can result in the HSM being offline for up to 15
690
+ # minutes while the AWS CloudHSM service is reconfigured. If you are
691
+ # modifying a production HSM, you should ensure that your AWS CloudHSM
692
+ # service is configured for high availability, and consider executing
693
+ # this operation during a maintenance window.
694
+ # @option params [required, String] :hsm_arn
695
+ # The ARN of the HSM to modify.
696
+ # @option params [String] :subnet_id
697
+ # The new identifier of the subnet that the HSM is in. The new subnet
698
+ # must be in the same Availability Zone as the current subnet.
699
+ # @option params [String] :eni_ip
700
+ # The new IP address for the elastic network interface (ENI) attached to
701
+ # the HSM.
702
+ #
703
+ # If the HSM is moved to a different subnet, and an IP address is not
704
+ # specified, an IP address will be randomly chosen from the CIDR range
705
+ # of the new subnet.
706
+ # @option params [String] :iam_role_arn
707
+ # The new IAM role ARN.
708
+ # @option params [String] :external_id
709
+ # The new external ID.
710
+ # @option params [String] :syslog_ip
711
+ # The new IP address for the syslog monitoring server. The AWS CloudHSM
712
+ # service only supports one syslog monitoring server.
713
+ # @return [Types::ModifyHsmResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
714
+ #
715
+ # * {Types::ModifyHsmResponse#hsm_arn #HsmArn} => String
716
+ #
717
+ # @example Request syntax with placeholder values
718
+ # resp = client.modify_hsm({
719
+ # hsm_arn: "HsmArn", # required
720
+ # subnet_id: "SubnetId",
721
+ # eni_ip: "IpAddress",
722
+ # iam_role_arn: "IamRoleArn",
723
+ # external_id: "ExternalId",
724
+ # syslog_ip: "IpAddress",
725
+ # })
726
+ #
727
+ # @example Response structure
728
+ # resp.hsm_arn #=> String
729
+ # @overload modify_hsm(params = {})
730
+ # @param [Hash] params ({})
731
+ def modify_hsm(params = {}, options = {})
732
+ req = build_request(:modify_hsm, params)
733
+ req.send_request(options)
734
+ end
735
+
736
+ # Modifies the certificate used by the client.
737
+ #
738
+ # This action can potentially start a workflow to install the new
739
+ # certificate on the client's HSMs.
740
+ # @option params [required, String] :client_arn
741
+ # The ARN of the client.
742
+ # @option params [required, String] :certificate
743
+ # The new certificate for the client.
744
+ # @return [Types::ModifyLunaClientResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
745
+ #
746
+ # * {Types::ModifyLunaClientResponse#client_arn #ClientArn} => String
747
+ #
748
+ # @example Request syntax with placeholder values
749
+ # resp = client.modify_luna_client({
750
+ # client_arn: "ClientArn", # required
751
+ # certificate: "Certificate", # required
752
+ # })
753
+ #
754
+ # @example Response structure
755
+ # resp.client_arn #=> String
756
+ # @overload modify_luna_client(params = {})
757
+ # @param [Hash] params ({})
758
+ def modify_luna_client(params = {}, options = {})
759
+ req = build_request(:modify_luna_client, params)
760
+ req.send_request(options)
761
+ end
762
+
763
+ # Removes one or more tags from the specified AWS CloudHSM resource.
764
+ #
765
+ # To remove a tag, specify only the tag key to remove (not the value).
766
+ # To overwrite the value for an existing tag, use AddTagsToResource.
767
+ # @option params [required, String] :resource_arn
768
+ # The Amazon Resource Name (ARN) of the AWS CloudHSM resource.
769
+ # @option params [required, Array<String>] :tag_key_list
770
+ # The tag key or keys to remove.
771
+ #
772
+ # Specify only the tag key to remove (not the value). To overwrite the
773
+ # value for an existing tag, use AddTagsToResource.
774
+ # @return [Types::RemoveTagsFromResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
775
+ #
776
+ # * {Types::RemoveTagsFromResourceResponse#status #Status} => String
777
+ #
778
+ # @example Request syntax with placeholder values
779
+ # resp = client.remove_tags_from_resource({
780
+ # resource_arn: "String", # required
781
+ # tag_key_list: ["TagKey"], # required
782
+ # })
783
+ #
784
+ # @example Response structure
785
+ # resp.status #=> String
786
+ # @overload remove_tags_from_resource(params = {})
787
+ # @param [Hash] params ({})
788
+ def remove_tags_from_resource(params = {}, options = {})
789
+ req = build_request(:remove_tags_from_resource, params)
790
+ req.send_request(options)
791
+ end
792
+
793
+ # @!endgroup
794
+
795
+ # @param params ({})
796
+ # @api private
797
+ def build_request(operation_name, params = {})
798
+ handlers = @handlers.for(operation_name)
799
+ context = Seahorse::Client::RequestContext.new(
800
+ operation_name: operation_name,
801
+ operation: config.api.operation(operation_name),
802
+ client: self,
803
+ params: params,
804
+ config: config)
805
+ context[:gem_name] = 'aws-sdk-cloudhsm'
806
+ context[:gem_version] = '1.0.0.rc1'
807
+ Seahorse::Client::Request.new(handlers, context)
808
+ end
809
+
810
+ # @api private
811
+ # @deprecated
812
+ def waiter_names
813
+ []
814
+ end
815
+
816
+ class << self
817
+
818
+ # @api private
819
+ attr_reader :identifier
820
+
821
+ # @api private
822
+ def errors_module
823
+ Errors
824
+ end
825
+
826
+ end
827
+ end
828
+ end
829
+ end