aws-sdk-support 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: 7953d5f355a9a657cc4d252fec2a4b953a0f2b9a
4
+ data.tar.gz: d46de2f8e32443f33d265fd25dd940cc33b11777
5
+ SHA512:
6
+ metadata.gz: b038ad090079fb3ee7414e95435936dc2fc6fc55f65e485b5a2f851af41cd1fe002f96859944b328c9b2815036f771eca8942156290d87a7c280ac1bedb5dea9
7
+ data.tar.gz: f8b7933885d3ee3a91be5c5c62f4172a744f831f0ea1beb25094a360de24ed2c5f52fb62a78be2228ea71d70f79652cc186f800105a4f68ee1598ef51eb27af7
@@ -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-support/types'
12
+ require_relative 'aws-sdk-support/client_api'
13
+ require_relative 'aws-sdk-support/client'
14
+ require_relative 'aws-sdk-support/errors'
15
+ require_relative 'aws-sdk-support/resource'
16
+ require_relative 'aws-sdk-support/customizations'
17
+
18
+ # This module provides support for AWS Support. This module is available in the
19
+ # `aws-sdk-support` 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 AWS Support all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::Support::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::Support
44
+
45
+ GEM_VERSION = '1.0.0.rc1'
46
+
47
+ end
@@ -0,0 +1,870 @@
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(:support)
25
+
26
+ module Aws
27
+ module Support
28
+ class Client < Seahorse::Client::Base
29
+
30
+ include Aws::ClientStubs
31
+
32
+ @identifier = :support
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 one or more attachments to an attachment set. If an
143
+ # `attachmentSetId` is not specified, a new attachment set is created,
144
+ # and the ID of the set is returned in the response. If an
145
+ # `attachmentSetId` is specified, the attachments are added to the
146
+ # specified set, if it exists.
147
+ #
148
+ # An attachment set is a temporary container for attachments that are to
149
+ # be added to a case or case communication. The set is available for one
150
+ # hour after it is created; the `expiryTime` returned in the response
151
+ # indicates when the set expires. The maximum number of attachments in a
152
+ # set is 3, and the maximum size of any attachment in the set is 5 MB.
153
+ # @option params [String] :attachment_set_id
154
+ # The ID of the attachment set. If an `attachmentSetId` is not
155
+ # specified, a new attachment set is created, and the ID of the set is
156
+ # returned in the response. If an `attachmentSetId` is specified, the
157
+ # attachments are added to the specified set, if it exists.
158
+ # @option params [required, Array<Types::Attachment>] :attachments
159
+ # One or more attachments to add to the set. The limit is 3 attachments
160
+ # per set, and the size limit is 5 MB per attachment.
161
+ # @return [Types::AddAttachmentsToSetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
162
+ #
163
+ # * {Types::AddAttachmentsToSetResponse#attachment_set_id #attachmentSetId} => String
164
+ # * {Types::AddAttachmentsToSetResponse#expiry_time #expiryTime} => String
165
+ #
166
+ # @example Request syntax with placeholder values
167
+ # resp = client.add_attachments_to_set({
168
+ # attachment_set_id: "AttachmentSetId",
169
+ # attachments: [ # required
170
+ # {
171
+ # file_name: "FileName",
172
+ # data: "data",
173
+ # },
174
+ # ],
175
+ # })
176
+ #
177
+ # @example Response structure
178
+ # resp.attachment_set_id #=> String
179
+ # resp.expiry_time #=> String
180
+ # @overload add_attachments_to_set(params = {})
181
+ # @param [Hash] params ({})
182
+ def add_attachments_to_set(params = {}, options = {})
183
+ req = build_request(:add_attachments_to_set, params)
184
+ req.send_request(options)
185
+ end
186
+
187
+ # Adds additional customer communication to an AWS Support case. You use
188
+ # the `caseId` value to identify the case to add communication to. You
189
+ # can list a set of email addresses to copy on the communication using
190
+ # the `ccEmailAddresses` value. The `communicationBody` value contains
191
+ # the text of the communication.
192
+ #
193
+ # The response indicates the success or failure of the request.
194
+ #
195
+ # This operation implements a subset of the features of the AWS Support
196
+ # Center.
197
+ # @option params [String] :case_id
198
+ # The AWS Support case ID requested or returned in the call. The case ID
199
+ # is an alphanumeric string formatted as shown in this example:
200
+ # case-*12345678910-2013-c4c1d2bf33c5cf47*
201
+ # @option params [required, String] :communication_body
202
+ # The body of an email communication to add to the support case.
203
+ # @option params [Array<String>] :cc_email_addresses
204
+ # The email addresses in the CC line of an email to be added to the
205
+ # support case.
206
+ # @option params [String] :attachment_set_id
207
+ # The ID of a set of one or more attachments for the communication to
208
+ # add to the case. Create the set by calling AddAttachmentsToSet
209
+ # @return [Types::AddCommunicationToCaseResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
210
+ #
211
+ # * {Types::AddCommunicationToCaseResponse#result #result} => Boolean
212
+ #
213
+ # @example Request syntax with placeholder values
214
+ # resp = client.add_communication_to_case({
215
+ # case_id: "CaseId",
216
+ # communication_body: "CommunicationBody", # required
217
+ # cc_email_addresses: ["CcEmailAddress"],
218
+ # attachment_set_id: "AttachmentSetId",
219
+ # })
220
+ #
221
+ # @example Response structure
222
+ # resp.result #=> Boolean
223
+ # @overload add_communication_to_case(params = {})
224
+ # @param [Hash] params ({})
225
+ def add_communication_to_case(params = {}, options = {})
226
+ req = build_request(:add_communication_to_case, params)
227
+ req.send_request(options)
228
+ end
229
+
230
+ # Creates a new case in the AWS Support Center. This operation is
231
+ # modeled on the behavior of the AWS Support Center [Create Case][1]
232
+ # page. Its parameters require you to specify the following information:
233
+ #
234
+ # * **issueType.** The type of issue for the case. You can specify
235
+ # either "customer-service" or "technical." If you do not indicate
236
+ # a value, the default is "technical."
237
+ #
238
+ # * **serviceCode.** The code for an AWS service. You obtain the
239
+ # `serviceCode` by calling DescribeServices.
240
+ #
241
+ # * **categoryCode.** The category for the service defined for the
242
+ # `serviceCode` value. You also obtain the category code for a service
243
+ # by calling DescribeServices. Each AWS service defines its own set of
244
+ # category codes.
245
+ #
246
+ # * **severityCode.** A value that indicates the urgency of the case,
247
+ # which in turn determines the response time according to your service
248
+ # level agreement with AWS Support. You obtain the SeverityCode by
249
+ # calling DescribeSeverityLevels.
250
+ #
251
+ # * **subject.** The **Subject** field on the AWS Support Center [Create
252
+ # Case][1] page.
253
+ #
254
+ # * **communicationBody.** The **Description** field on the AWS Support
255
+ # Center [Create Case][1] page.
256
+ #
257
+ # * **attachmentSetId.** The ID of a set of attachments that has been
258
+ # created by using AddAttachmentsToSet.
259
+ #
260
+ # * **language.** The human language in which AWS Support handles the
261
+ # case. English and Japanese are currently supported.
262
+ #
263
+ # * **ccEmailAddresses.** The AWS Support Center **CC** field on the
264
+ # [Create Case][1] page. You can list email addresses to be copied on
265
+ # any correspondence about the case. The account that opens the case
266
+ # is already identified by passing the AWS Credentials in the HTTP
267
+ # POST method or in a method or function call from one of the
268
+ # programming languages supported by an [AWS SDK][2].
269
+ #
270
+ # <note markdown="1"> To add additional communication or attachments to an existing case,
271
+ # use AddCommunicationToCase.
272
+ #
273
+ # </note>
274
+ #
275
+ # A successful CreateCase request returns an AWS Support case number.
276
+ # Case numbers are used by the DescribeCases operation to retrieve
277
+ # existing AWS Support cases.
278
+ #
279
+ #
280
+ #
281
+ # [1]: https://console.aws.amazon.com/support/home#/case/create
282
+ # [2]: http://aws.amazon.com/tools/
283
+ # @option params [required, String] :subject
284
+ # The title of the AWS Support case.
285
+ # @option params [String] :service_code
286
+ # The code for the AWS service returned by the call to DescribeServices.
287
+ # @option params [String] :severity_code
288
+ # The code for the severity level returned by the call to
289
+ # DescribeSeverityLevels.
290
+ #
291
+ # <note markdown="1"> The availability of severity levels depends on each customer's
292
+ # support subscription. In other words, your subscription may not
293
+ # necessarily require the urgent level of response time.
294
+ #
295
+ # </note>
296
+ # @option params [String] :category_code
297
+ # The category of problem for the AWS Support case.
298
+ # @option params [required, String] :communication_body
299
+ # The communication body text when you create an AWS Support case by
300
+ # calling CreateCase.
301
+ # @option params [Array<String>] :cc_email_addresses
302
+ # A list of email addresses that AWS Support copies on case
303
+ # correspondence.
304
+ # @option params [String] :language
305
+ # The ISO 639-1 code for the language in which AWS provides support. AWS
306
+ # Support currently supports English ("en") and Japanese ("ja").
307
+ # Language parameters must be passed explicitly for operations that take
308
+ # them.
309
+ # @option params [String] :issue_type
310
+ # The type of issue for the case. You can specify either
311
+ # "customer-service" or "technical." If you do not indicate a value,
312
+ # the default is "technical."
313
+ # @option params [String] :attachment_set_id
314
+ # The ID of a set of one or more attachments for the case. Create the
315
+ # set by using AddAttachmentsToSet.
316
+ # @return [Types::CreateCaseResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
317
+ #
318
+ # * {Types::CreateCaseResponse#case_id #caseId} => String
319
+ #
320
+ # @example Request syntax with placeholder values
321
+ # resp = client.create_case({
322
+ # subject: "Subject", # required
323
+ # service_code: "ServiceCode",
324
+ # severity_code: "SeverityCode",
325
+ # category_code: "CategoryCode",
326
+ # communication_body: "CommunicationBody", # required
327
+ # cc_email_addresses: ["CcEmailAddress"],
328
+ # language: "Language",
329
+ # issue_type: "IssueType",
330
+ # attachment_set_id: "AttachmentSetId",
331
+ # })
332
+ #
333
+ # @example Response structure
334
+ # resp.case_id #=> String
335
+ # @overload create_case(params = {})
336
+ # @param [Hash] params ({})
337
+ def create_case(params = {}, options = {})
338
+ req = build_request(:create_case, params)
339
+ req.send_request(options)
340
+ end
341
+
342
+ # Returns the attachment that has the specified ID. Attachment IDs are
343
+ # generated by the case management system when you add an attachment to
344
+ # a case or case communication. Attachment IDs are returned in the
345
+ # AttachmentDetails objects that are returned by the
346
+ # DescribeCommunications operation.
347
+ # @option params [required, String] :attachment_id
348
+ # The ID of the attachment to return. Attachment IDs are returned by the
349
+ # DescribeCommunications operation.
350
+ # @return [Types::DescribeAttachmentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
351
+ #
352
+ # * {Types::DescribeAttachmentResponse#attachment #attachment} => Types::Attachment
353
+ #
354
+ # @example Request syntax with placeholder values
355
+ # resp = client.describe_attachment({
356
+ # attachment_id: "AttachmentId", # required
357
+ # })
358
+ #
359
+ # @example Response structure
360
+ # resp.attachment.file_name #=> String
361
+ # resp.attachment.data #=> String
362
+ # @overload describe_attachment(params = {})
363
+ # @param [Hash] params ({})
364
+ def describe_attachment(params = {}, options = {})
365
+ req = build_request(:describe_attachment, params)
366
+ req.send_request(options)
367
+ end
368
+
369
+ # Returns a list of cases that you specify by passing one or more case
370
+ # IDs. In addition, you can filter the cases by date by setting values
371
+ # for the `afterTime` and `beforeTime` request parameters. You can set
372
+ # values for the `includeResolvedCases` and `includeCommunications`
373
+ # request parameters to control how much information is returned.
374
+ #
375
+ # Case data is available for 12 months after creation. If a case was
376
+ # created more than 12 months ago, a request for data might cause an
377
+ # error.
378
+ #
379
+ # The response returns the following in JSON format:
380
+ #
381
+ # * One or more CaseDetails data types.
382
+ #
383
+ # * One or more `nextToken` values, which specify where to paginate the
384
+ # returned records represented by the `CaseDetails` objects.
385
+ # @option params [Array<String>] :case_id_list
386
+ # A list of ID numbers of the support cases you want returned. The
387
+ # maximum number of cases is 100.
388
+ # @option params [String] :display_id
389
+ # The ID displayed for a case in the AWS Support Center user interface.
390
+ # @option params [String] :after_time
391
+ # The start date for a filtered date search on support case
392
+ # communications. Case communications are available for 12 months after
393
+ # creation.
394
+ # @option params [String] :before_time
395
+ # The end date for a filtered date search on support case
396
+ # communications. Case communications are available for 12 months after
397
+ # creation.
398
+ # @option params [Boolean] :include_resolved_cases
399
+ # Specifies whether resolved support cases should be included in the
400
+ # DescribeCases results. The default is *false*.
401
+ # @option params [String] :next_token
402
+ # A resumption point for pagination.
403
+ # @option params [Integer] :max_results
404
+ # The maximum number of results to return before paginating.
405
+ # @option params [String] :language
406
+ # The ISO 639-1 code for the language in which AWS provides support. AWS
407
+ # Support currently supports English ("en") and Japanese ("ja").
408
+ # Language parameters must be passed explicitly for operations that take
409
+ # them.
410
+ # @option params [Boolean] :include_communications
411
+ # Specifies whether communications should be included in the
412
+ # DescribeCases results. The default is *true*.
413
+ # @return [Types::DescribeCasesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
414
+ #
415
+ # * {Types::DescribeCasesResponse#cases #cases} => Array&lt;Types::CaseDetails&gt;
416
+ # * {Types::DescribeCasesResponse#next_token #nextToken} => String
417
+ #
418
+ # @example Request syntax with placeholder values
419
+ # resp = client.describe_cases({
420
+ # case_id_list: ["CaseId"],
421
+ # display_id: "DisplayId",
422
+ # after_time: "AfterTime",
423
+ # before_time: "BeforeTime",
424
+ # include_resolved_cases: false,
425
+ # next_token: "NextToken",
426
+ # max_results: 1,
427
+ # language: "Language",
428
+ # include_communications: false,
429
+ # })
430
+ #
431
+ # @example Response structure
432
+ # resp.cases #=> Array
433
+ # resp.cases[0].case_id #=> String
434
+ # resp.cases[0].display_id #=> String
435
+ # resp.cases[0].subject #=> String
436
+ # resp.cases[0].status #=> String
437
+ # resp.cases[0].service_code #=> String
438
+ # resp.cases[0].category_code #=> String
439
+ # resp.cases[0].severity_code #=> String
440
+ # resp.cases[0].submitted_by #=> String
441
+ # resp.cases[0].time_created #=> String
442
+ # resp.cases[0].recent_communications.communications #=> Array
443
+ # resp.cases[0].recent_communications.communications[0].case_id #=> String
444
+ # resp.cases[0].recent_communications.communications[0].body #=> String
445
+ # resp.cases[0].recent_communications.communications[0].submitted_by #=> String
446
+ # resp.cases[0].recent_communications.communications[0].time_created #=> String
447
+ # resp.cases[0].recent_communications.communications[0].attachment_set #=> Array
448
+ # resp.cases[0].recent_communications.communications[0].attachment_set[0].attachment_id #=> String
449
+ # resp.cases[0].recent_communications.communications[0].attachment_set[0].file_name #=> String
450
+ # resp.cases[0].recent_communications.next_token #=> String
451
+ # resp.cases[0].cc_email_addresses #=> Array
452
+ # resp.cases[0].cc_email_addresses[0] #=> String
453
+ # resp.cases[0].language #=> String
454
+ # resp.next_token #=> String
455
+ # @overload describe_cases(params = {})
456
+ # @param [Hash] params ({})
457
+ def describe_cases(params = {}, options = {})
458
+ req = build_request(:describe_cases, params)
459
+ req.send_request(options)
460
+ end
461
+
462
+ # Returns communications (and attachments) for one or more support
463
+ # cases. You can use the `afterTime` and `beforeTime` parameters to
464
+ # filter by date. You can use the `caseId` parameter to restrict the
465
+ # results to a particular case.
466
+ #
467
+ # Case data is available for 12 months after creation. If a case was
468
+ # created more than 12 months ago, a request for data might cause an
469
+ # error.
470
+ #
471
+ # You can use the `maxResults` and `nextToken` parameters to control the
472
+ # pagination of the result set. Set `maxResults` to the number of cases
473
+ # you want displayed on each page, and use `nextToken` to specify the
474
+ # resumption of pagination.
475
+ # @option params [required, String] :case_id
476
+ # The AWS Support case ID requested or returned in the call. The case ID
477
+ # is an alphanumeric string formatted as shown in this example:
478
+ # case-*12345678910-2013-c4c1d2bf33c5cf47*
479
+ # @option params [String] :before_time
480
+ # The end date for a filtered date search on support case
481
+ # communications. Case communications are available for 12 months after
482
+ # creation.
483
+ # @option params [String] :after_time
484
+ # The start date for a filtered date search on support case
485
+ # communications. Case communications are available for 12 months after
486
+ # creation.
487
+ # @option params [String] :next_token
488
+ # A resumption point for pagination.
489
+ # @option params [Integer] :max_results
490
+ # The maximum number of results to return before paginating.
491
+ # @return [Types::DescribeCommunicationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
492
+ #
493
+ # * {Types::DescribeCommunicationsResponse#communications #communications} => Array&lt;Types::Communication&gt;
494
+ # * {Types::DescribeCommunicationsResponse#next_token #nextToken} => String
495
+ #
496
+ # @example Request syntax with placeholder values
497
+ # resp = client.describe_communications({
498
+ # case_id: "CaseId", # required
499
+ # before_time: "BeforeTime",
500
+ # after_time: "AfterTime",
501
+ # next_token: "NextToken",
502
+ # max_results: 1,
503
+ # })
504
+ #
505
+ # @example Response structure
506
+ # resp.communications #=> Array
507
+ # resp.communications[0].case_id #=> String
508
+ # resp.communications[0].body #=> String
509
+ # resp.communications[0].submitted_by #=> String
510
+ # resp.communications[0].time_created #=> String
511
+ # resp.communications[0].attachment_set #=> Array
512
+ # resp.communications[0].attachment_set[0].attachment_id #=> String
513
+ # resp.communications[0].attachment_set[0].file_name #=> String
514
+ # resp.next_token #=> String
515
+ # @overload describe_communications(params = {})
516
+ # @param [Hash] params ({})
517
+ def describe_communications(params = {}, options = {})
518
+ req = build_request(:describe_communications, params)
519
+ req.send_request(options)
520
+ end
521
+
522
+ # Returns the current list of AWS services and a list of service
523
+ # categories that applies to each one. You then use service names and
524
+ # categories in your CreateCase requests. Each AWS service has its own
525
+ # set of categories.
526
+ #
527
+ # The service codes and category codes correspond to the values that are
528
+ # displayed in the **Service** and **Category** drop-down lists on the
529
+ # AWS Support Center [Create Case][1] page. The values in those fields,
530
+ # however, do not necessarily match the service codes and categories
531
+ # returned by the `DescribeServices` request. Always use the service
532
+ # codes and categories obtained programmatically. This practice ensures
533
+ # that you always have the most recent set of service and category
534
+ # codes.
535
+ #
536
+ #
537
+ #
538
+ # [1]: https://console.aws.amazon.com/support/home#/case/create
539
+ # @option params [Array<String>] :service_code_list
540
+ # A JSON-formatted list of service codes available for AWS services.
541
+ # @option params [String] :language
542
+ # The ISO 639-1 code for the language in which AWS provides support. AWS
543
+ # Support currently supports English ("en") and Japanese ("ja").
544
+ # Language parameters must be passed explicitly for operations that take
545
+ # them.
546
+ # @return [Types::DescribeServicesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
547
+ #
548
+ # * {Types::DescribeServicesResponse#services #services} => Array&lt;Types::Service&gt;
549
+ #
550
+ # @example Request syntax with placeholder values
551
+ # resp = client.describe_services({
552
+ # service_code_list: ["ServiceCode"],
553
+ # language: "Language",
554
+ # })
555
+ #
556
+ # @example Response structure
557
+ # resp.services #=> Array
558
+ # resp.services[0].code #=> String
559
+ # resp.services[0].name #=> String
560
+ # resp.services[0].categories #=> Array
561
+ # resp.services[0].categories[0].code #=> String
562
+ # resp.services[0].categories[0].name #=> String
563
+ # @overload describe_services(params = {})
564
+ # @param [Hash] params ({})
565
+ def describe_services(params = {}, options = {})
566
+ req = build_request(:describe_services, params)
567
+ req.send_request(options)
568
+ end
569
+
570
+ # Returns the list of severity levels that you can assign to an AWS
571
+ # Support case. The severity level for a case is also a field in the
572
+ # CaseDetails data type included in any CreateCase request.
573
+ # @option params [String] :language
574
+ # The ISO 639-1 code for the language in which AWS provides support. AWS
575
+ # Support currently supports English ("en") and Japanese ("ja").
576
+ # Language parameters must be passed explicitly for operations that take
577
+ # them.
578
+ # @return [Types::DescribeSeverityLevelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
579
+ #
580
+ # * {Types::DescribeSeverityLevelsResponse#severity_levels #severityLevels} => Array&lt;Types::SeverityLevel&gt;
581
+ #
582
+ # @example Request syntax with placeholder values
583
+ # resp = client.describe_severity_levels({
584
+ # language: "Language",
585
+ # })
586
+ #
587
+ # @example Response structure
588
+ # resp.severity_levels #=> Array
589
+ # resp.severity_levels[0].code #=> String
590
+ # resp.severity_levels[0].name #=> String
591
+ # @overload describe_severity_levels(params = {})
592
+ # @param [Hash] params ({})
593
+ def describe_severity_levels(params = {}, options = {})
594
+ req = build_request(:describe_severity_levels, params)
595
+ req.send_request(options)
596
+ end
597
+
598
+ # Returns the refresh status of the Trusted Advisor checks that have the
599
+ # specified check IDs. Check IDs can be obtained by calling
600
+ # DescribeTrustedAdvisorChecks.
601
+ #
602
+ # <note markdown="1"> Some checks are refreshed automatically, and their refresh statuses
603
+ # cannot be retrieved by using this operation. Use of the
604
+ # `DescribeTrustedAdvisorCheckRefreshStatuses` operation for these
605
+ # checks causes an `InvalidParameterValue` error.
606
+ #
607
+ # </note>
608
+ # @option params [required, Array<String>] :check_ids
609
+ # The IDs of the Trusted Advisor checks to get the status of. **Note:**
610
+ # Specifying the check ID of a check that is automatically refreshed
611
+ # causes an `InvalidParameterValue` error.
612
+ # @return [Types::DescribeTrustedAdvisorCheckRefreshStatusesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
613
+ #
614
+ # * {Types::DescribeTrustedAdvisorCheckRefreshStatusesResponse#statuses #statuses} => Array&lt;Types::TrustedAdvisorCheckRefreshStatus&gt;
615
+ #
616
+ # @example Request syntax with placeholder values
617
+ # resp = client.describe_trusted_advisor_check_refresh_statuses({
618
+ # check_ids: ["String"], # required
619
+ # })
620
+ #
621
+ # @example Response structure
622
+ # resp.statuses #=> Array
623
+ # resp.statuses[0].check_id #=> String
624
+ # resp.statuses[0].status #=> String
625
+ # resp.statuses[0].millis_until_next_refreshable #=> Integer
626
+ # @overload describe_trusted_advisor_check_refresh_statuses(params = {})
627
+ # @param [Hash] params ({})
628
+ def describe_trusted_advisor_check_refresh_statuses(params = {}, options = {})
629
+ req = build_request(:describe_trusted_advisor_check_refresh_statuses, params)
630
+ req.send_request(options)
631
+ end
632
+
633
+ # Returns the results of the Trusted Advisor check that has the
634
+ # specified check ID. Check IDs can be obtained by calling
635
+ # DescribeTrustedAdvisorChecks.
636
+ #
637
+ # The response contains a TrustedAdvisorCheckResult object, which
638
+ # contains these three objects:
639
+ #
640
+ # * TrustedAdvisorCategorySpecificSummary
641
+ #
642
+ # * TrustedAdvisorResourceDetail
643
+ #
644
+ # * TrustedAdvisorResourcesSummary
645
+ #
646
+ # In addition, the response contains these fields:
647
+ #
648
+ # * **status.** The alert status of the check: "ok" (green),
649
+ # "warning" (yellow), "error" (red), or "not\_available".
650
+ #
651
+ # * **timestamp.** The time of the last refresh of the check.
652
+ #
653
+ # * **checkId.** The unique identifier for the check.
654
+ # @option params [required, String] :check_id
655
+ # The unique identifier for the Trusted Advisor check.
656
+ # @option params [String] :language
657
+ # The ISO 639-1 code for the language in which AWS provides support. AWS
658
+ # Support currently supports English ("en") and Japanese ("ja").
659
+ # Language parameters must be passed explicitly for operations that take
660
+ # them.
661
+ # @return [Types::DescribeTrustedAdvisorCheckResultResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
662
+ #
663
+ # * {Types::DescribeTrustedAdvisorCheckResultResponse#result #result} => Types::TrustedAdvisorCheckResult
664
+ #
665
+ # @example Request syntax with placeholder values
666
+ # resp = client.describe_trusted_advisor_check_result({
667
+ # check_id: "String", # required
668
+ # language: "String",
669
+ # })
670
+ #
671
+ # @example Response structure
672
+ # resp.result.check_id #=> String
673
+ # resp.result.timestamp #=> String
674
+ # resp.result.status #=> String
675
+ # resp.result.resources_summary.resources_processed #=> Integer
676
+ # resp.result.resources_summary.resources_flagged #=> Integer
677
+ # resp.result.resources_summary.resources_ignored #=> Integer
678
+ # resp.result.resources_summary.resources_suppressed #=> Integer
679
+ # resp.result.category_specific_summary.cost_optimizing.estimated_monthly_savings #=> Float
680
+ # resp.result.category_specific_summary.cost_optimizing.estimated_percent_monthly_savings #=> Float
681
+ # resp.result.flagged_resources #=> Array
682
+ # resp.result.flagged_resources[0].status #=> String
683
+ # resp.result.flagged_resources[0].region #=> String
684
+ # resp.result.flagged_resources[0].resource_id #=> String
685
+ # resp.result.flagged_resources[0].is_suppressed #=> Boolean
686
+ # resp.result.flagged_resources[0].metadata #=> Array
687
+ # resp.result.flagged_resources[0].metadata[0] #=> String
688
+ # @overload describe_trusted_advisor_check_result(params = {})
689
+ # @param [Hash] params ({})
690
+ def describe_trusted_advisor_check_result(params = {}, options = {})
691
+ req = build_request(:describe_trusted_advisor_check_result, params)
692
+ req.send_request(options)
693
+ end
694
+
695
+ # Returns the summaries of the results of the Trusted Advisor checks
696
+ # that have the specified check IDs. Check IDs can be obtained by
697
+ # calling DescribeTrustedAdvisorChecks.
698
+ #
699
+ # The response contains an array of TrustedAdvisorCheckSummary objects.
700
+ # @option params [required, Array<String>] :check_ids
701
+ # The IDs of the Trusted Advisor checks.
702
+ # @return [Types::DescribeTrustedAdvisorCheckSummariesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
703
+ #
704
+ # * {Types::DescribeTrustedAdvisorCheckSummariesResponse#summaries #summaries} => Array&lt;Types::TrustedAdvisorCheckSummary&gt;
705
+ #
706
+ # @example Request syntax with placeholder values
707
+ # resp = client.describe_trusted_advisor_check_summaries({
708
+ # check_ids: ["String"], # required
709
+ # })
710
+ #
711
+ # @example Response structure
712
+ # resp.summaries #=> Array
713
+ # resp.summaries[0].check_id #=> String
714
+ # resp.summaries[0].timestamp #=> String
715
+ # resp.summaries[0].status #=> String
716
+ # resp.summaries[0].has_flagged_resources #=> Boolean
717
+ # resp.summaries[0].resources_summary.resources_processed #=> Integer
718
+ # resp.summaries[0].resources_summary.resources_flagged #=> Integer
719
+ # resp.summaries[0].resources_summary.resources_ignored #=> Integer
720
+ # resp.summaries[0].resources_summary.resources_suppressed #=> Integer
721
+ # resp.summaries[0].category_specific_summary.cost_optimizing.estimated_monthly_savings #=> Float
722
+ # resp.summaries[0].category_specific_summary.cost_optimizing.estimated_percent_monthly_savings #=> Float
723
+ # @overload describe_trusted_advisor_check_summaries(params = {})
724
+ # @param [Hash] params ({})
725
+ def describe_trusted_advisor_check_summaries(params = {}, options = {})
726
+ req = build_request(:describe_trusted_advisor_check_summaries, params)
727
+ req.send_request(options)
728
+ end
729
+
730
+ # Returns information about all available Trusted Advisor checks,
731
+ # including name, ID, category, description, and metadata. You must
732
+ # specify a language code; English ("en") and Japanese ("ja") are
733
+ # currently supported. The response contains a
734
+ # TrustedAdvisorCheckDescription for each check.
735
+ # @option params [required, String] :language
736
+ # The ISO 639-1 code for the language in which AWS provides support. AWS
737
+ # Support currently supports English ("en") and Japanese ("ja").
738
+ # Language parameters must be passed explicitly for operations that take
739
+ # them.
740
+ # @return [Types::DescribeTrustedAdvisorChecksResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
741
+ #
742
+ # * {Types::DescribeTrustedAdvisorChecksResponse#checks #checks} => Array&lt;Types::TrustedAdvisorCheckDescription&gt;
743
+ #
744
+ # @example Request syntax with placeholder values
745
+ # resp = client.describe_trusted_advisor_checks({
746
+ # language: "String", # required
747
+ # })
748
+ #
749
+ # @example Response structure
750
+ # resp.checks #=> Array
751
+ # resp.checks[0].id #=> String
752
+ # resp.checks[0].name #=> String
753
+ # resp.checks[0].description #=> String
754
+ # resp.checks[0].category #=> String
755
+ # resp.checks[0].metadata #=> Array
756
+ # resp.checks[0].metadata[0] #=> String
757
+ # @overload describe_trusted_advisor_checks(params = {})
758
+ # @param [Hash] params ({})
759
+ def describe_trusted_advisor_checks(params = {}, options = {})
760
+ req = build_request(:describe_trusted_advisor_checks, params)
761
+ req.send_request(options)
762
+ end
763
+
764
+ # Requests a refresh of the Trusted Advisor check that has the specified
765
+ # check ID. Check IDs can be obtained by calling
766
+ # DescribeTrustedAdvisorChecks.
767
+ #
768
+ # <note markdown="1"> Some checks are refreshed automatically, and they cannot be refreshed
769
+ # by using this operation. Use of the `RefreshTrustedAdvisorCheck`
770
+ # operation for these checks causes an `InvalidParameterValue` error.
771
+ #
772
+ # </note>
773
+ #
774
+ # The response contains a TrustedAdvisorCheckRefreshStatus object, which
775
+ # contains these fields:
776
+ #
777
+ # * **status.** The refresh status of the check: "none", "enqueued",
778
+ # "processing", "success", or "abandoned".
779
+ #
780
+ # * **millisUntilNextRefreshable.** The amount of time, in milliseconds,
781
+ # until the check is eligible for refresh.
782
+ #
783
+ # * **checkId.** The unique identifier for the check.
784
+ # @option params [required, String] :check_id
785
+ # The unique identifier for the Trusted Advisor check to refresh.
786
+ # **Note:** Specifying the check ID of a check that is automatically
787
+ # refreshed causes an `InvalidParameterValue` error.
788
+ # @return [Types::RefreshTrustedAdvisorCheckResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
789
+ #
790
+ # * {Types::RefreshTrustedAdvisorCheckResponse#status #status} => Types::TrustedAdvisorCheckRefreshStatus
791
+ #
792
+ # @example Request syntax with placeholder values
793
+ # resp = client.refresh_trusted_advisor_check({
794
+ # check_id: "String", # required
795
+ # })
796
+ #
797
+ # @example Response structure
798
+ # resp.status.check_id #=> String
799
+ # resp.status.status #=> String
800
+ # resp.status.millis_until_next_refreshable #=> Integer
801
+ # @overload refresh_trusted_advisor_check(params = {})
802
+ # @param [Hash] params ({})
803
+ def refresh_trusted_advisor_check(params = {}, options = {})
804
+ req = build_request(:refresh_trusted_advisor_check, params)
805
+ req.send_request(options)
806
+ end
807
+
808
+ # Takes a `caseId` and returns the initial state of the case along with
809
+ # the state of the case after the call to ResolveCase completed.
810
+ # @option params [String] :case_id
811
+ # The AWS Support case ID requested or returned in the call. The case ID
812
+ # is an alphanumeric string formatted as shown in this example:
813
+ # case-*12345678910-2013-c4c1d2bf33c5cf47*
814
+ # @return [Types::ResolveCaseResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
815
+ #
816
+ # * {Types::ResolveCaseResponse#initial_case_status #initialCaseStatus} => String
817
+ # * {Types::ResolveCaseResponse#final_case_status #finalCaseStatus} => String
818
+ #
819
+ # @example Request syntax with placeholder values
820
+ # resp = client.resolve_case({
821
+ # case_id: "CaseId",
822
+ # })
823
+ #
824
+ # @example Response structure
825
+ # resp.initial_case_status #=> String
826
+ # resp.final_case_status #=> String
827
+ # @overload resolve_case(params = {})
828
+ # @param [Hash] params ({})
829
+ def resolve_case(params = {}, options = {})
830
+ req = build_request(:resolve_case, params)
831
+ req.send_request(options)
832
+ end
833
+
834
+ # @!endgroup
835
+
836
+ # @param params ({})
837
+ # @api private
838
+ def build_request(operation_name, params = {})
839
+ handlers = @handlers.for(operation_name)
840
+ context = Seahorse::Client::RequestContext.new(
841
+ operation_name: operation_name,
842
+ operation: config.api.operation(operation_name),
843
+ client: self,
844
+ params: params,
845
+ config: config)
846
+ context[:gem_name] = 'aws-sdk-support'
847
+ context[:gem_version] = '1.0.0.rc1'
848
+ Seahorse::Client::Request.new(handlers, context)
849
+ end
850
+
851
+ # @api private
852
+ # @deprecated
853
+ def waiter_names
854
+ []
855
+ end
856
+
857
+ class << self
858
+
859
+ # @api private
860
+ attr_reader :identifier
861
+
862
+ # @api private
863
+ def errors_module
864
+ Errors
865
+ end
866
+
867
+ end
868
+ end
869
+ end
870
+ end