aws-sdk-signer 1.1.0

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: 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