aws-sdk-support 1.0.0.rc1

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 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