aws-sdk-signer 1.1.0

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: e1d0cd7041351bfe867bf3ed43befd1e1e83fff8
4
+ data.tar.gz: 11b4d539cc023390b0aafa9d4be6dd7f658585f4
5
+ SHA512:
6
+ metadata.gz: 4e30f43af20e8f14d15729e9dac37c855739ab4a6df24c83016b10ebfe4ab55b7298df643d6c5781cba2a94a4467c48b0facba2e3259bda84109f40a74c04ec7
7
+ data.tar.gz: cd45709578233ece97b559519758259404daa049dbd8f7d235e868a104a2c52fdb17f9628de73eac508cecc1bfaf12f882e5bfc2006b5661b8a49e010a790b83
@@ -0,0 +1,48 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
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-signer/types'
12
+ require_relative 'aws-sdk-signer/client_api'
13
+ require_relative 'aws-sdk-signer/client'
14
+ require_relative 'aws-sdk-signer/errors'
15
+ require_relative 'aws-sdk-signer/waiters'
16
+ require_relative 'aws-sdk-signer/resource'
17
+ require_relative 'aws-sdk-signer/customizations'
18
+
19
+ # This module provides support for AWS Signer. This module is available in the
20
+ # `aws-sdk-signer` gem.
21
+ #
22
+ # # Client
23
+ #
24
+ # The {Client} class provides one method for each API operation. Operation
25
+ # methods each accept a hash of request parameters and return a response
26
+ # structure.
27
+ #
28
+ # See {Client} for more information.
29
+ #
30
+ # # Errors
31
+ #
32
+ # Errors returned from AWS Signer all
33
+ # extend {Errors::ServiceError}.
34
+ #
35
+ # begin
36
+ # # do stuff
37
+ # rescue Aws::Signer::Errors::ServiceError
38
+ # # rescues all service API errors
39
+ # end
40
+ #
41
+ # See {Errors} for more information.
42
+ #
43
+ # @service
44
+ module Aws::Signer
45
+
46
+ GEM_VERSION = '1.1.0'
47
+
48
+ end
@@ -0,0 +1,822 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
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/jsonvalue_converter.rb'
22
+ require 'aws-sdk-core/plugins/signature_v4.rb'
23
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
24
+
25
+ Aws::Plugins::GlobalConfiguration.add_identifier(:signer)
26
+
27
+ module Aws::Signer
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :signer
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::JsonvalueConverter)
50
+ add_plugin(Aws::Plugins::SignatureV4)
51
+ add_plugin(Aws::Plugins::Protocols::RestJson)
52
+
53
+ # @option options [required, Aws::CredentialProvider] :credentials
54
+ # Your AWS credentials. This can be an instance of any one of the
55
+ # following classes:
56
+ #
57
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
58
+ # credentials.
59
+ #
60
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
61
+ # from an EC2 IMDS on an EC2 instance.
62
+ #
63
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
64
+ # shared file, such as `~/.aws/config`.
65
+ #
66
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
67
+ #
68
+ # When `:credentials` are not configured directly, the following
69
+ # locations will be searched for credentials:
70
+ #
71
+ # * `Aws.config[:credentials]`
72
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
73
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
74
+ # * `~/.aws/credentials`
75
+ # * `~/.aws/config`
76
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
77
+ # very aggressive. Construct and pass an instance of
78
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
79
+ # timeouts.
80
+ #
81
+ # @option options [required, String] :region
82
+ # The AWS region to connect to. The configured `:region` is
83
+ # used to determine the service `:endpoint`. When not passed,
84
+ # a default `:region` is search for in the following locations:
85
+ #
86
+ # * `Aws.config[:region]`
87
+ # * `ENV['AWS_REGION']`
88
+ # * `ENV['AMAZON_REGION']`
89
+ # * `ENV['AWS_DEFAULT_REGION']`
90
+ # * `~/.aws/credentials`
91
+ # * `~/.aws/config`
92
+ #
93
+ # @option options [String] :access_key_id
94
+ #
95
+ # @option options [Boolean] :convert_params (true)
96
+ # When `true`, an attempt is made to coerce request parameters into
97
+ # the required types.
98
+ #
99
+ # @option options [String] :endpoint
100
+ # The client endpoint is normally constructed from the `:region`
101
+ # option. You should only configure an `:endpoint` when connecting
102
+ # to test endpoints. This should be avalid HTTP(S) URI.
103
+ #
104
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
105
+ # The log formatter.
106
+ #
107
+ # @option options [Symbol] :log_level (:info)
108
+ # The log level to send messages to the `:logger` at.
109
+ #
110
+ # @option options [Logger] :logger
111
+ # The Logger instance to send log messages to. If this option
112
+ # is not set, logging will be disabled.
113
+ #
114
+ # @option options [String] :profile ("default")
115
+ # Used when loading credentials from the shared credentials file
116
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
117
+ #
118
+ # @option options [Float] :retry_base_delay (0.3)
119
+ # The base delay in seconds used by the default backoff function.
120
+ #
121
+ # @option options [Symbol] :retry_jitter (:none)
122
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
123
+ #
124
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
125
+ #
126
+ # @option options [Integer] :retry_limit (3)
127
+ # The maximum number of times to retry failed requests. Only
128
+ # ~ 500 level server errors and certain ~ 400 level client errors
129
+ # are retried. Generally, these are throttling errors, data
130
+ # checksum errors, networking errors, timeout errors and auth
131
+ # errors from expired credentials.
132
+ #
133
+ # @option options [Integer] :retry_max_delay (0)
134
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
135
+ #
136
+ # @option options [String] :secret_access_key
137
+ #
138
+ # @option options [String] :session_token
139
+ #
140
+ # @option options [Boolean] :stub_responses (false)
141
+ # Causes the client to return stubbed responses. By default
142
+ # fake responses are generated and returned. You can specify
143
+ # the response data to return or errors to raise by calling
144
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
145
+ #
146
+ # ** Please note ** When response stubbing is enabled, no HTTP
147
+ # requests are made, and retries are disabled.
148
+ #
149
+ # @option options [Boolean] :validate_params (true)
150
+ # When `true`, request parameters are validated before
151
+ # sending the request.
152
+ #
153
+ def initialize(*args)
154
+ super
155
+ end
156
+
157
+ # @!group API Operations
158
+
159
+ # Changes the state of an `ACTIVE` signing profile to `CANCELED`. A
160
+ # canceled profile is still viewable with the `ListSigningProfiles`
161
+ # operation, but it cannot perform new signing jobs, and is deleted two
162
+ # years after cancelation.
163
+ #
164
+ # @option params [required, String] :profile_name
165
+ # The name of the signing profile to be canceled.
166
+ #
167
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
168
+ #
169
+ # @example Request syntax with placeholder values
170
+ #
171
+ # resp = client.cancel_signing_profile({
172
+ # profile_name: "ProfileName", # required
173
+ # })
174
+ #
175
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/CancelSigningProfile AWS API Documentation
176
+ #
177
+ # @overload cancel_signing_profile(params = {})
178
+ # @param [Hash] params ({})
179
+ def cancel_signing_profile(params = {}, options = {})
180
+ req = build_request(:cancel_signing_profile, params)
181
+ req.send_request(options)
182
+ end
183
+
184
+ # Returns information about a specific code signing job. You specify the
185
+ # job by using the `jobId` value that is returned by the StartSigningJob
186
+ # operation.
187
+ #
188
+ # @option params [required, String] :job_id
189
+ # The ID of the signing job on input.
190
+ #
191
+ # @return [Types::DescribeSigningJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
192
+ #
193
+ # * {Types::DescribeSigningJobResponse#job_id #job_id} => String
194
+ # * {Types::DescribeSigningJobResponse#source #source} => Types::Source
195
+ # * {Types::DescribeSigningJobResponse#signing_material #signing_material} => Types::SigningMaterial
196
+ # * {Types::DescribeSigningJobResponse#platform_id #platform_id} => String
197
+ # * {Types::DescribeSigningJobResponse#profile_name #profile_name} => String
198
+ # * {Types::DescribeSigningJobResponse#overrides #overrides} => Types::SigningPlatformOverrides
199
+ # * {Types::DescribeSigningJobResponse#signing_parameters #signing_parameters} => Hash&lt;String,String&gt;
200
+ # * {Types::DescribeSigningJobResponse#created_at #created_at} => Time
201
+ # * {Types::DescribeSigningJobResponse#completed_at #completed_at} => Time
202
+ # * {Types::DescribeSigningJobResponse#requested_by #requested_by} => String
203
+ # * {Types::DescribeSigningJobResponse#status #status} => String
204
+ # * {Types::DescribeSigningJobResponse#status_reason #status_reason} => String
205
+ # * {Types::DescribeSigningJobResponse#signed_object #signed_object} => Types::SignedObject
206
+ #
207
+ # @example Request syntax with placeholder values
208
+ #
209
+ # resp = client.describe_signing_job({
210
+ # job_id: "JobId", # required
211
+ # })
212
+ #
213
+ # @example Response structure
214
+ #
215
+ # resp.job_id #=> String
216
+ # resp.source.s3.bucket_name #=> String
217
+ # resp.source.s3.key #=> String
218
+ # resp.source.s3.version #=> String
219
+ # resp.signing_material.certificate_arn #=> String
220
+ # resp.platform_id #=> String
221
+ # resp.profile_name #=> String
222
+ # resp.overrides.signing_configuration.encryption_algorithm #=> String, one of "RSA", "ECDSA"
223
+ # resp.overrides.signing_configuration.hash_algorithm #=> String, one of "SHA1", "SHA256"
224
+ # resp.signing_parameters #=> Hash
225
+ # resp.signing_parameters["SigningParameterKey"] #=> String
226
+ # resp.created_at #=> Time
227
+ # resp.completed_at #=> Time
228
+ # resp.requested_by #=> String
229
+ # resp.status #=> String, one of "InProgress", "Failed", "Succeeded"
230
+ # resp.status_reason #=> String
231
+ # resp.signed_object.s3.bucket_name #=> String
232
+ # resp.signed_object.s3.key #=> String
233
+ #
234
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/DescribeSigningJob AWS API Documentation
235
+ #
236
+ # @overload describe_signing_job(params = {})
237
+ # @param [Hash] params ({})
238
+ def describe_signing_job(params = {}, options = {})
239
+ req = build_request(:describe_signing_job, params)
240
+ req.send_request(options)
241
+ end
242
+
243
+ # Returns information on a specific signing platform.
244
+ #
245
+ # @option params [required, String] :platform_id
246
+ # The ID of the target signing platform.
247
+ #
248
+ # @return [Types::GetSigningPlatformResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
249
+ #
250
+ # * {Types::GetSigningPlatformResponse#platform_id #platform_id} => String
251
+ # * {Types::GetSigningPlatformResponse#display_name #display_name} => String
252
+ # * {Types::GetSigningPlatformResponse#partner #partner} => String
253
+ # * {Types::GetSigningPlatformResponse#target #target} => String
254
+ # * {Types::GetSigningPlatformResponse#category #category} => String
255
+ # * {Types::GetSigningPlatformResponse#signing_configuration #signing_configuration} => Types::SigningConfiguration
256
+ # * {Types::GetSigningPlatformResponse#signing_image_format #signing_image_format} => Types::SigningImageFormat
257
+ # * {Types::GetSigningPlatformResponse#max_size_in_mb #max_size_in_mb} => Integer
258
+ #
259
+ # @example Request syntax with placeholder values
260
+ #
261
+ # resp = client.get_signing_platform({
262
+ # platform_id: "PlatformId", # required
263
+ # })
264
+ #
265
+ # @example Response structure
266
+ #
267
+ # resp.platform_id #=> String
268
+ # resp.display_name #=> String
269
+ # resp.partner #=> String
270
+ # resp.target #=> String
271
+ # resp.category #=> String, one of "AWSIoT"
272
+ # resp.signing_configuration.encryption_algorithm_options.allowed_values #=> Array
273
+ # resp.signing_configuration.encryption_algorithm_options.allowed_values[0] #=> String, one of "RSA", "ECDSA"
274
+ # resp.signing_configuration.encryption_algorithm_options.default_value #=> String, one of "RSA", "ECDSA"
275
+ # resp.signing_configuration.hash_algorithm_options.allowed_values #=> Array
276
+ # resp.signing_configuration.hash_algorithm_options.allowed_values[0] #=> String, one of "SHA1", "SHA256"
277
+ # resp.signing_configuration.hash_algorithm_options.default_value #=> String, one of "SHA1", "SHA256"
278
+ # resp.signing_image_format.supported_formats #=> Array
279
+ # resp.signing_image_format.supported_formats[0] #=> String, one of "JSON"
280
+ # resp.signing_image_format.default_format #=> String, one of "JSON"
281
+ # resp.max_size_in_mb #=> Integer
282
+ #
283
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/GetSigningPlatform AWS API Documentation
284
+ #
285
+ # @overload get_signing_platform(params = {})
286
+ # @param [Hash] params ({})
287
+ def get_signing_platform(params = {}, options = {})
288
+ req = build_request(:get_signing_platform, params)
289
+ req.send_request(options)
290
+ end
291
+
292
+ # Returns information on a specific signing profile.
293
+ #
294
+ # @option params [required, String] :profile_name
295
+ # The name of the target signing profile.
296
+ #
297
+ # @return [Types::GetSigningProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
298
+ #
299
+ # * {Types::GetSigningProfileResponse#profile_name #profile_name} => String
300
+ # * {Types::GetSigningProfileResponse#signing_material #signing_material} => Types::SigningMaterial
301
+ # * {Types::GetSigningProfileResponse#platform_id #platform_id} => String
302
+ # * {Types::GetSigningProfileResponse#overrides #overrides} => Types::SigningPlatformOverrides
303
+ # * {Types::GetSigningProfileResponse#signing_parameters #signing_parameters} => Hash&lt;String,String&gt;
304
+ # * {Types::GetSigningProfileResponse#status #status} => String
305
+ #
306
+ # @example Request syntax with placeholder values
307
+ #
308
+ # resp = client.get_signing_profile({
309
+ # profile_name: "ProfileName", # required
310
+ # })
311
+ #
312
+ # @example Response structure
313
+ #
314
+ # resp.profile_name #=> String
315
+ # resp.signing_material.certificate_arn #=> String
316
+ # resp.platform_id #=> String
317
+ # resp.overrides.signing_configuration.encryption_algorithm #=> String, one of "RSA", "ECDSA"
318
+ # resp.overrides.signing_configuration.hash_algorithm #=> String, one of "SHA1", "SHA256"
319
+ # resp.signing_parameters #=> Hash
320
+ # resp.signing_parameters["SigningParameterKey"] #=> String
321
+ # resp.status #=> String, one of "Active", "Canceled"
322
+ #
323
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/GetSigningProfile AWS API Documentation
324
+ #
325
+ # @overload get_signing_profile(params = {})
326
+ # @param [Hash] params ({})
327
+ def get_signing_profile(params = {}, options = {})
328
+ req = build_request(:get_signing_profile, params)
329
+ req.send_request(options)
330
+ end
331
+
332
+ # Lists all your signing jobs. You can use the `maxResults` parameter to
333
+ # limit the number of signing jobs that are returned in the response. If
334
+ # additional jobs remain to be listed, AWS Signer returns a `nextToken`
335
+ # value. Use this value in subsequent calls to `ListSigningJobs` to
336
+ # fetch the remaining values. You can continue calling `ListSigningJobs`
337
+ # with your `maxResults` parameter and with new values that AWS Signer
338
+ # returns in the `nextToken` parameter until all of your signing jobs
339
+ # have been returned.
340
+ #
341
+ # @option params [String] :status
342
+ # A status value with which to filter your results.
343
+ #
344
+ # @option params [String] :platform_id
345
+ # The ID of microcontroller platform that you specified for the
346
+ # distribution of your code image.
347
+ #
348
+ # @option params [String] :requested_by
349
+ # The IAM principal that requested the signing job.
350
+ #
351
+ # @option params [Integer] :max_results
352
+ # Specifies the maximum number of items to return in the response. Use
353
+ # this parameter when paginating results. If additional items exist
354
+ # beyond the number you specify, the `nextToken` element is set in the
355
+ # response. Use the `nextToken` value in a subsequent request to
356
+ # retrieve additional items.
357
+ #
358
+ # @option params [String] :next_token
359
+ # String for specifying the next set of paginated results to return.
360
+ # After you receive a response with truncated results, use this
361
+ # parameter in a subsequent request. Set it to the value of `nextToken`
362
+ # from the response that you just received.
363
+ #
364
+ # @return [Types::ListSigningJobsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
365
+ #
366
+ # * {Types::ListSigningJobsResponse#jobs #jobs} => Array&lt;Types::SigningJob&gt;
367
+ # * {Types::ListSigningJobsResponse#next_token #next_token} => String
368
+ #
369
+ # @example Request syntax with placeholder values
370
+ #
371
+ # resp = client.list_signing_jobs({
372
+ # status: "InProgress", # accepts InProgress, Failed, Succeeded
373
+ # platform_id: "PlatformId",
374
+ # requested_by: "RequestedBy",
375
+ # max_results: 1,
376
+ # next_token: "NextToken",
377
+ # })
378
+ #
379
+ # @example Response structure
380
+ #
381
+ # resp.jobs #=> Array
382
+ # resp.jobs[0].job_id #=> String
383
+ # resp.jobs[0].source.s3.bucket_name #=> String
384
+ # resp.jobs[0].source.s3.key #=> String
385
+ # resp.jobs[0].source.s3.version #=> String
386
+ # resp.jobs[0].signed_object.s3.bucket_name #=> String
387
+ # resp.jobs[0].signed_object.s3.key #=> String
388
+ # resp.jobs[0].signing_material.certificate_arn #=> String
389
+ # resp.jobs[0].created_at #=> Time
390
+ # resp.jobs[0].status #=> String, one of "InProgress", "Failed", "Succeeded"
391
+ # resp.next_token #=> String
392
+ #
393
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/ListSigningJobs AWS API Documentation
394
+ #
395
+ # @overload list_signing_jobs(params = {})
396
+ # @param [Hash] params ({})
397
+ def list_signing_jobs(params = {}, options = {})
398
+ req = build_request(:list_signing_jobs, params)
399
+ req.send_request(options)
400
+ end
401
+
402
+ # Lists all signing platforms available in AWS Signer that match the
403
+ # request parameters. If additional jobs remain to be listed, AWS Signer
404
+ # returns a `nextToken` value. Use this value in subsequent calls to
405
+ # `ListSigningJobs` to fetch the remaining values. You can continue
406
+ # calling `ListSigningJobs` with your `maxResults` parameter and with
407
+ # new values that AWS Signer returns in the `nextToken` parameter until
408
+ # all of your signing jobs have been returned.
409
+ #
410
+ # @option params [String] :category
411
+ # The category type of a signing platform.
412
+ #
413
+ # @option params [String] :partner
414
+ # Any partner entities connected to a signing platform.
415
+ #
416
+ # @option params [String] :target
417
+ # The validation template that is used by the target signing platform.
418
+ #
419
+ # @option params [Integer] :max_results
420
+ # The maximum number of results to be returned by this operation.
421
+ #
422
+ # @option params [String] :next_token
423
+ # Value for specifying the next set of paginated results to return.
424
+ # After you receive a response with truncated results, use this
425
+ # parameter in a subsequent request. Set it to the value of `nextToken`
426
+ # from the response that you just received.
427
+ #
428
+ # @return [Types::ListSigningPlatformsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
429
+ #
430
+ # * {Types::ListSigningPlatformsResponse#platforms #platforms} => Array&lt;Types::SigningPlatform&gt;
431
+ # * {Types::ListSigningPlatformsResponse#next_token #next_token} => String
432
+ #
433
+ # @example Request syntax with placeholder values
434
+ #
435
+ # resp = client.list_signing_platforms({
436
+ # category: "String",
437
+ # partner: "String",
438
+ # target: "String",
439
+ # max_results: 1,
440
+ # next_token: "String",
441
+ # })
442
+ #
443
+ # @example Response structure
444
+ #
445
+ # resp.platforms #=> Array
446
+ # resp.platforms[0].platform_id #=> String
447
+ # resp.platforms[0].display_name #=> String
448
+ # resp.platforms[0].partner #=> String
449
+ # resp.platforms[0].target #=> String
450
+ # resp.platforms[0].category #=> String, one of "AWSIoT"
451
+ # resp.platforms[0].signing_configuration.encryption_algorithm_options.allowed_values #=> Array
452
+ # resp.platforms[0].signing_configuration.encryption_algorithm_options.allowed_values[0] #=> String, one of "RSA", "ECDSA"
453
+ # resp.platforms[0].signing_configuration.encryption_algorithm_options.default_value #=> String, one of "RSA", "ECDSA"
454
+ # resp.platforms[0].signing_configuration.hash_algorithm_options.allowed_values #=> Array
455
+ # resp.platforms[0].signing_configuration.hash_algorithm_options.allowed_values[0] #=> String, one of "SHA1", "SHA256"
456
+ # resp.platforms[0].signing_configuration.hash_algorithm_options.default_value #=> String, one of "SHA1", "SHA256"
457
+ # resp.platforms[0].signing_image_format.supported_formats #=> Array
458
+ # resp.platforms[0].signing_image_format.supported_formats[0] #=> String, one of "JSON"
459
+ # resp.platforms[0].signing_image_format.default_format #=> String, one of "JSON"
460
+ # resp.platforms[0].max_size_in_mb #=> Integer
461
+ # resp.next_token #=> String
462
+ #
463
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/ListSigningPlatforms AWS API Documentation
464
+ #
465
+ # @overload list_signing_platforms(params = {})
466
+ # @param [Hash] params ({})
467
+ def list_signing_platforms(params = {}, options = {})
468
+ req = build_request(:list_signing_platforms, params)
469
+ req.send_request(options)
470
+ end
471
+
472
+ # Lists all available signing profiles in your AWS account. Returns only
473
+ # profiles with an `ACTIVE` status unless the `includeCanceled` request
474
+ # field is set to `true`. If additional jobs remain to be listed, AWS
475
+ # Signer returns a `nextToken` value. Use this value in subsequent calls
476
+ # to `ListSigningJobs` to fetch the remaining values. You can continue
477
+ # calling `ListSigningJobs` with your `maxResults` parameter and with
478
+ # new values that AWS Signer returns in the `nextToken` parameter until
479
+ # all of your signing jobs have been returned.
480
+ #
481
+ # @option params [Boolean] :include_canceled
482
+ # Designates whether to include profiles with the status of `CANCELED`.
483
+ #
484
+ # @option params [Integer] :max_results
485
+ # The maximum number of profiles to be returned.
486
+ #
487
+ # @option params [String] :next_token
488
+ # Value for specifying the next set of paginated results to return.
489
+ # After you receive a response with truncated results, use this
490
+ # parameter in a subsequent request. Set it to the value of `nextToken`
491
+ # from the response that you just received.
492
+ #
493
+ # @return [Types::ListSigningProfilesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
494
+ #
495
+ # * {Types::ListSigningProfilesResponse#profiles #profiles} => Array&lt;Types::SigningProfile&gt;
496
+ # * {Types::ListSigningProfilesResponse#next_token #next_token} => String
497
+ #
498
+ # @example Request syntax with placeholder values
499
+ #
500
+ # resp = client.list_signing_profiles({
501
+ # include_canceled: false,
502
+ # max_results: 1,
503
+ # next_token: "NextToken",
504
+ # })
505
+ #
506
+ # @example Response structure
507
+ #
508
+ # resp.profiles #=> Array
509
+ # resp.profiles[0].profile_name #=> String
510
+ # resp.profiles[0].signing_material.certificate_arn #=> String
511
+ # resp.profiles[0].platform_id #=> String
512
+ # resp.profiles[0].signing_parameters #=> Hash
513
+ # resp.profiles[0].signing_parameters["SigningParameterKey"] #=> String
514
+ # resp.profiles[0].status #=> String, one of "Active", "Canceled"
515
+ # resp.next_token #=> String
516
+ #
517
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/ListSigningProfiles AWS API Documentation
518
+ #
519
+ # @overload list_signing_profiles(params = {})
520
+ # @param [Hash] params ({})
521
+ def list_signing_profiles(params = {}, options = {})
522
+ req = build_request(:list_signing_profiles, params)
523
+ req.send_request(options)
524
+ end
525
+
526
+ # Creates a signing profile. A signing profile is an AWS Signer template
527
+ # that can be used to carry out a pre-defined signing job. For more
528
+ # information, see
529
+ # [http://docs.aws.amazon.com/signer/latest/developerguide/gs-profile.html][1]
530
+ #
531
+ #
532
+ #
533
+ # [1]: http://docs.aws.amazon.com/signer/latest/developerguide/gs-profile.html
534
+ #
535
+ # @option params [required, String] :profile_name
536
+ # The name of the signing profile to be created.
537
+ #
538
+ # @option params [required, Types::SigningMaterial] :signing_material
539
+ # The AWS Certificate Manager certificate that will be used to sign code
540
+ # with the new signing profile.
541
+ #
542
+ # @option params [required, String] :platform_id
543
+ # The ID of the signing profile to be created.
544
+ #
545
+ # @option params [Types::SigningPlatformOverrides] :overrides
546
+ # A subfield of `platform`. This specifies any different configuration
547
+ # options that you want to apply to the chosen platform (such as a
548
+ # different `hash-algorithm` or `signing-algorithm`).
549
+ #
550
+ # @option params [Hash<String,String>] :signing_parameters
551
+ # Map of key-value pairs for signing. These can include any information
552
+ # that you want to use during signing.
553
+ #
554
+ # @return [Types::PutSigningProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
555
+ #
556
+ # * {Types::PutSigningProfileResponse#arn #arn} => String
557
+ #
558
+ # @example Request syntax with placeholder values
559
+ #
560
+ # resp = client.put_signing_profile({
561
+ # profile_name: "ProfileName", # required
562
+ # signing_material: { # required
563
+ # certificate_arn: "CertificateArn", # required
564
+ # },
565
+ # platform_id: "PlatformId", # required
566
+ # overrides: {
567
+ # signing_configuration: {
568
+ # encryption_algorithm: "RSA", # accepts RSA, ECDSA
569
+ # hash_algorithm: "SHA1", # accepts SHA1, SHA256
570
+ # },
571
+ # },
572
+ # signing_parameters: {
573
+ # "SigningParameterKey" => "SigningParameterValue",
574
+ # },
575
+ # })
576
+ #
577
+ # @example Response structure
578
+ #
579
+ # resp.arn #=> String
580
+ #
581
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/PutSigningProfile AWS API Documentation
582
+ #
583
+ # @overload put_signing_profile(params = {})
584
+ # @param [Hash] params ({})
585
+ def put_signing_profile(params = {}, options = {})
586
+ req = build_request(:put_signing_profile, params)
587
+ req.send_request(options)
588
+ end
589
+
590
+ # Initiates a signing job to be performed on the code provided. Signing
591
+ # jobs are viewable by the `ListSigningJobs` operation for two years
592
+ # after they are performed. Note the following requirements:
593
+ #
594
+ # * You must create an Amazon S3 source bucket. For more information,
595
+ # see [Create a Bucket][1] in the *Amazon S3 Getting Started Guide*.
596
+ #
597
+ # * Your S3 source bucket must be version enabled.
598
+ #
599
+ # * You must create an S3 destination bucket. AWS Signer uses your S3
600
+ # destination bucket to write your signed code.
601
+ #
602
+ # * You specify the name of the source and destination buckets when
603
+ # calling the `StartSigningJob` operation.
604
+ #
605
+ # * You must also specify a request token that identifies your request
606
+ # to AWS Signer.
607
+ #
608
+ # You can call the DescribeSigningJob and the ListSigningJobs actions
609
+ # after you call `StartSigningJob`.
610
+ #
611
+ # For a Java example that shows how to use this action, see
612
+ # [http://docs.aws.amazon.com/acm/latest/userguide/][2]
613
+ #
614
+ #
615
+ #
616
+ # [1]: http://docs.aws.amazon.com/AmazonS3/latest/gsg/CreatingABucket.html
617
+ # [2]: http://docs.aws.amazon.com/acm/latest/userguide/
618
+ #
619
+ # @option params [required, Types::Source] :source
620
+ # The S3 bucket that contains the object to sign or a BLOB that contains
621
+ # your raw code.
622
+ #
623
+ # @option params [required, Types::Destination] :destination
624
+ # The S3 bucket in which to save your signed object. The destination
625
+ # contains the name of your bucket and an optional prefix.
626
+ #
627
+ # @option params [String] :profile_name
628
+ # The name of the signing profile.
629
+ #
630
+ # @option params [required, String] :client_request_token
631
+ # String that identifies the signing request. All calls after the first
632
+ # that use this token return the same response as the first call.
633
+ #
634
+ # **A suitable default value is auto-generated.** You should normally
635
+ # not need to pass this option.**
636
+ #
637
+ # @return [Types::StartSigningJobResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
638
+ #
639
+ # * {Types::StartSigningJobResponse#job_id #job_id} => String
640
+ #
641
+ # @example Request syntax with placeholder values
642
+ #
643
+ # resp = client.start_signing_job({
644
+ # source: { # required
645
+ # s3: {
646
+ # bucket_name: "BucketName", # required
647
+ # key: "Key", # required
648
+ # version: "Version", # required
649
+ # },
650
+ # },
651
+ # destination: { # required
652
+ # s3: {
653
+ # bucket_name: "BucketName",
654
+ # prefix: "Prefix",
655
+ # },
656
+ # },
657
+ # profile_name: "ProfileName",
658
+ # client_request_token: "ClientRequestToken", # required
659
+ # })
660
+ #
661
+ # @example Response structure
662
+ #
663
+ # resp.job_id #=> String
664
+ #
665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/signer-2017-08-25/StartSigningJob AWS API Documentation
666
+ #
667
+ # @overload start_signing_job(params = {})
668
+ # @param [Hash] params ({})
669
+ def start_signing_job(params = {}, options = {})
670
+ req = build_request(:start_signing_job, params)
671
+ req.send_request(options)
672
+ end
673
+
674
+ # @!endgroup
675
+
676
+ # @param params ({})
677
+ # @api private
678
+ def build_request(operation_name, params = {})
679
+ handlers = @handlers.for(operation_name)
680
+ context = Seahorse::Client::RequestContext.new(
681
+ operation_name: operation_name,
682
+ operation: config.api.operation(operation_name),
683
+ client: self,
684
+ params: params,
685
+ config: config)
686
+ context[:gem_name] = 'aws-sdk-signer'
687
+ context[:gem_version] = '1.1.0'
688
+ Seahorse::Client::Request.new(handlers, context)
689
+ end
690
+
691
+ # Polls an API operation until a resource enters a desired state.
692
+ #
693
+ # ## Basic Usage
694
+ #
695
+ # A waiter will call an API operation until:
696
+ #
697
+ # * It is successful
698
+ # * It enters a terminal state
699
+ # * It makes the maximum number of attempts
700
+ #
701
+ # In between attempts, the waiter will sleep.
702
+ #
703
+ # # polls in a loop, sleeping between attempts
704
+ # client.waiter_until(waiter_name, params)
705
+ #
706
+ # ## Configuration
707
+ #
708
+ # You can configure the maximum number of polling attempts, and the
709
+ # delay (in seconds) between each polling attempt. You can pass
710
+ # configuration as the final arguments hash.
711
+ #
712
+ # # poll for ~25 seconds
713
+ # client.wait_until(waiter_name, params, {
714
+ # max_attempts: 5,
715
+ # delay: 5,
716
+ # })
717
+ #
718
+ # ## Callbacks
719
+ #
720
+ # You can be notified before each polling attempt and before each
721
+ # delay. If you throw `:success` or `:failure` from these callbacks,
722
+ # it will terminate the waiter.
723
+ #
724
+ # started_at = Time.now
725
+ # client.wait_until(waiter_name, params, {
726
+ #
727
+ # # disable max attempts
728
+ # max_attempts: nil,
729
+ #
730
+ # # poll for 1 hour, instead of a number of attempts
731
+ # before_wait: -> (attempts, response) do
732
+ # throw :failure if Time.now - started_at > 3600
733
+ # end
734
+ # })
735
+ #
736
+ # ## Handling Errors
737
+ #
738
+ # When a waiter is unsuccessful, it will raise an error.
739
+ # All of the failure errors extend from
740
+ # {Aws::Waiters::Errors::WaiterFailed}.
741
+ #
742
+ # begin
743
+ # client.wait_until(...)
744
+ # rescue Aws::Waiters::Errors::WaiterFailed
745
+ # # resource did not enter the desired state in time
746
+ # end
747
+ #
748
+ # ## Valid Waiters
749
+ #
750
+ # The following table lists the valid waiter names, the operations they call,
751
+ # and the default `:delay` and `:max_attempts` values.
752
+ #
753
+ # | waiter_name | params | :delay | :max_attempts |
754
+ # | ---------------------- | ----------------------- | -------- | ------------- |
755
+ # | successful_signing_job | {#describe_signing_job} | 20 | 25 |
756
+ #
757
+ # @raise [Errors::FailureStateError] Raised when the waiter terminates
758
+ # because the waiter has entered a state that it will not transition
759
+ # out of, preventing success.
760
+ #
761
+ # @raise [Errors::TooManyAttemptsError] Raised when the configured
762
+ # maximum number of attempts have been made, and the waiter is not
763
+ # yet successful.
764
+ #
765
+ # @raise [Errors::UnexpectedError] Raised when an error is encounted
766
+ # while polling for a resource that is not expected.
767
+ #
768
+ # @raise [Errors::NoSuchWaiterError] Raised when you request to wait
769
+ # for an unknown state.
770
+ #
771
+ # @return [Boolean] Returns `true` if the waiter was successful.
772
+ # @param [Symbol] waiter_name
773
+ # @param [Hash] params ({})
774
+ # @param [Hash] options ({})
775
+ # @option options [Integer] :max_attempts
776
+ # @option options [Integer] :delay
777
+ # @option options [Proc] :before_attempt
778
+ # @option options [Proc] :before_wait
779
+ def wait_until(waiter_name, params = {}, options = {})
780
+ w = waiter(waiter_name, options)
781
+ yield(w.waiter) if block_given? # deprecated
782
+ w.wait(params)
783
+ end
784
+
785
+ # @api private
786
+ # @deprecated
787
+ def waiter_names
788
+ waiters.keys
789
+ end
790
+
791
+ private
792
+
793
+ # @param [Symbol] waiter_name
794
+ # @param [Hash] options ({})
795
+ def waiter(waiter_name, options = {})
796
+ waiter_class = waiters[waiter_name]
797
+ if waiter_class
798
+ waiter_class.new(options.merge(client: self))
799
+ else
800
+ raise Aws::Waiters::Errors::NoSuchWaiterError.new(waiter_name, waiters.keys)
801
+ end
802
+ end
803
+
804
+ def waiters
805
+ {
806
+ successful_signing_job: Waiters::SuccessfulSigningJob
807
+ }
808
+ end
809
+
810
+ class << self
811
+
812
+ # @api private
813
+ attr_reader :identifier
814
+
815
+ # @api private
816
+ def errors_module
817
+ Errors
818
+ end
819
+
820
+ end
821
+ end
822
+ end