aws-sdk-cloudhsm 1.0.0.rc1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
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