View Source ExAws.Support (ex_aws_support v2.1.0)
Operations for AWS Support API
The documentation and types provided lean heavily on the AWS documentation for AWS Support. The AWS documentation is the definitive source of information and should be consulted to understand how to use AWS Support and its API functions. The documentation on types and functions in the library may be helpful but it is merely helpful. It does not attempt to provide an explanation for how to use AWS Support.
The library does not try to provide protection against invalid values, length restriction violations, or violations of pattern matching defined in the API documentation. There is some minimal checking for correct types but, generally, the data passed by the app is converted to a JSON representation and the error will be returned by the API when it is called.
Generally the functions take required parameters separately from any optional arguments. The optional arguments are passed as a Map (with a defined type).
The defined types used to pass optional arguments use the standard Elixir snake-case for keys. The API itself uses camel-case Strings for keys. The library provides the conversion. Most of the API keys use a lower-case letter for the first word and upper-case for the subsequent words. If there are exceptions to this rule they are handled by the library so an Elixir developer can just use standard snake-case for all the keys.
Types of Operations
The API provides two different groups of operations:
- Support case management operations to manage the entire life cycle of your AWS support cases, from creating a case to resolving it
- AWS Trusted Advisor operations to access AWS Trusted Advisor checks
Support Case Management
Support Case Management API's provide the following:
- Open a support case
- Get a list and detailed information about recent support cases
- Filter your search for support cases by dates and case identifiers, including resolved cases
- Add communications and file attachments to your cases, and add the email recipients for case correspondences. You can attach up to three files. Each file can be up to 5 MB
- Resolve your cases
AWS Trusted Advisor
AWS Trusted Advisor API's provide the following:
- Get the names and identifiers for the Trusted Advisor checks
- Request that a Trusted Advisor check be run against your AWS account and resources
- Get summaries and detailed information for your Trusted Advisor check results
- Refresh your Trusted Advisor checks
- Get the status of each Trusted Advisor check
Endpoints
AWS Support is a global service. This means that any endpoint that you use will update your support cases in the Support Center Console.
For example, if you use the US East (N. Virginia) endpoint to create a case, you can use the US West (Oregon) or Europe (Ireland) endpoint to add a correspondence to the same case.
You can use the following endpoints for the AWS Support API:
- US East (N. Virginia) – https://support.us-east-1.amazonaws.com
- US West (Oregon) – https://support.us-west-2.amazonaws.com
- Europe (Ireland) – https://support.eu-west-1.amazonaws.com
If you call the CreateCase operation to create test support cases, then AWS recommends that you
include a subject line, such as TEST CASE-Please ignore. After you're done with your test support
case, call the resolve_case/1
operation to resolve it.
To call the AWS Trusted Advisor operations in the AWS Support API, you must use the US East (N. Virginia) endpoint. Currently, the US West (Oregon) and Europe (Ireland) endpoints don't support the Trusted Advisor operations.
Notes
There is a lack of clarity in the doc on the format for after_time
and before_time
. Most
likely an ISO8601 String works. I've seen random examples on the web using the YYYY-MM-DDTHH:MM
format (for example, "2024-07-19T16:40").
You must have a Business, Enterprise On-Ramp, or Enterprise Support plan to use the AWS Support API.
If you call the AWS Support API from an account that doesn't have a Business, Enterprise On-Ramp, or Enterprise Support plan, the SubscriptionRequiredException error message appears. For information about changing your support plan, see AWS Support.
Summary
Types
The start date for a filtered date search on support case communications
An attachment to a case communication
Attachment IDs are generated by the case management system when you add an attachment to a case or case communication
The ID of the attachment set
List of attachment/0
The end date for a filtered date search on support case communications
The support case ID
The category of problem for the support case
The email addresses in the CC line of an email to be added to the support case.
The unique identifier for the Trusted Advisor check
The body of an email communication to add to the support case.
Optional input for function create_case/4
Optional input to the function describe_cases/1
Optional input to the describe_communications/2
function
The ID displayed for a case in the AWS Support Center user interface
The type of issue for the case
The language in which AWS Support handles the case
The maximum number of results to return before paginating
A resumption point for pagination
The code for the AWS service
A value that indicates the urgency of the case
The title of the support case
Functions
Adds one or more attachments to an attachment set
Adds additional customer communication to an AWS Support case
Creates a new case in the AWS Support Center
Returns the attachment that has the specified ID
Returns a list of cases that you specify by passing one or more case IDs
Returns communications (and attachments) for one or more support cases
Returns a list of CreateCaseOption types along with the corresponding supported hours and language availability
Returns the current list of AWS services and a list of service categories that applies to each one
Returns the list of severity levels that you can assign to an AWS Support case
Returns a list of supported languages for a specified category_code, issue_type and service_code
Returns the refresh status of the Trusted Advisor checks that have the specified check IDs
Returns the results of the Trusted Advisor check that has the specified check ID
Returns the summaries of the results of the Trusted Advisor checks that have the specified check IDs
Returns information about all available Trusted Advisor checks, including name, ID, category, description, and metadata
Requests a refresh of the Trusted Advisor check that has the specified check_id
Takes a case_id and returns the initial state of the case along with the state of the case after the call to resolve_case completed
Types
@type after_time() :: binary()
The start date for a filtered date search on support case communications
Notes
Case communications are available for 12 months after creation. String format is not well defined in the AWS doc. However, the format YYYY-MM-DDTHH:MM (for example: "2018-12-19T16:40") seems to appear in some examples.
@type attachment() :: [data: binary(), file_name: binary()] | %{data: binary(), file_name: binary()}
An attachment to a case communication
The attachment consists of the file name and the content of the file. Each attachment file size should not exceed 5 MB. File types that are supported include the following: pdf, jpeg, doc, log, text
- data - attachment file contents, base64 encoded binary data object (see
Base.encode64/1
). - file_name - attachment filename
@type attachment_id() :: binary()
Attachment IDs are generated by the case management system when you add an attachment to a case or case communication
Attachment IDs are returned in the AttachmentDetails objects that are returned by the
describe_communications/2
operation
@type attachment_set_id() :: binary()
The ID of the attachment set
Notes
If an attachment_set_id is not specified, a new attachment set is created, and the ID of the set is returned in the response. If an attachment_set_id is specified, the attachments are added to the specified set, if it exists.
@type attachments() :: [attachment()]
List of attachment/0
@type before_time() :: binary()
The end date for a filtered date search on support case communications
Notes
Case communications are available for 12 months after creation. String format is not well defined in the AWS doc. However, the format YYYY-MM-DDTHH:MM (for example: "2018-12-19T16:40") seems to appear in some examples.
@type case_id() :: binary()
The support case ID
Notes
The case ID is an alphanumeric string in the following format: case-12345678910-2013-c4c1d2bf33c5cf47
@type category_code() :: binary()
The category of problem for the support case
Notes
You can use the describe_services/2
operation to get the category code for a service. Each AWS
service defines its own set of category codes.
@type cc_email_addresses() :: [binary()]
The email addresses in the CC line of an email to be added to the support case.
- Minimum number of 0 items. Maximum number of 10 items.
@type check_id() :: binary()
The unique identifier for the Trusted Advisor check
@type communication_body() :: binary()
The body of an email communication to add to the support case.
- Length Constraints: Minimum length of 1. Maximum length of 8000.
@type create_case_optional() :: [ attachment_set_id: attachment_set_id(), category_code: category_code(), cc_email_addresses: cc_email_addresses(), issue_type: issue_type(), language: language(), service_code: service_code(), severity_code: severity_code() ] | %{ optional(:attachment_set_id) => attachment_set_id(), optional(:category_code) => category_code(), optional(:cc_email_addresses) => cc_email_addresses(), optional(:issue_type) => issue_type(), optional(:language) => language(), optional(:service_code) => service_code(), optional(:severity_code) => severity_code() }
Optional input for function create_case/4
attachment_set_id
- The ID of a set of attachments that has been created by usingadd_attachments_to_set/2
category_code
- The category for the service defined for theservice_code
value. You also get the category code for a service by callingdescribe_services/2
. Each AWS service defines its own set of category codes.cc_email_addresses
- The AWS Support Center CC field on the Create Case page. You can list email addresses to be copied on any correspondence about the case. The account that opens the case is already identified by passing the AWS Credentials in the HTTP POST method or in a method or function call from one of the programming languages supported by an AWS SDK.issue_type
- The type of issue for the case. You can specify either "customer-service" or "technical." If you do not indicate a value, the default is "technical." Note: Service limit increases are not supported by the Support API; you must submit service limit increase requests in Support Center.language
- The human language in which AWS Support handles the case. English and Japanese are currently supported.service_code
- The code for an AWS service. You can get the possible values by callingdescribe_services/2
.severity_code
- A value that indicates the urgency of the case, which in turn determines the response time according to your service level agreement with AWS Support. You can get the possible severity code values by callingdescribe_severity_levels/1
. For more information about the meaning of the codes, see SeverityLevel and Choosing a Severity in the AWS Support User Guide.
@type describe_cases_optional() :: [ after_time: after_time(), before_time: before_time(), case_id_list: [case_id()], display_id: display_id(), include_communications: boolean(), include_resolved_cases: boolean(), language: language(), max_results: max_results(), next_token: next_token() ] | %{ optional(:after_time) => after_time(), optional(:before_time) => before_time(), optional(:case_id_list) => [case_id()], optional(:display_id) => display_id(), optional(:include_communications) => boolean(), optional(:include_resolved_cases) => boolean(), optional(:language) => language(), optional(:max_results) => max_results(), optional(:next_token) => next_token() }
Optional input to the function describe_cases/1
- after_time - The start date for a filtered date search on support case communications
- before_time - The end date for a filtered date search on support case communications
- case_id_list - A list of ID numbers of the support cases you want returned. The maximum number of cases is 100. Note: A case_id in AWS is not the value that you see in AWS Support web pages. That is the display_id. Its a unique identifier returned when you create a case that includes your account id. The case ID is an alphanumeric string formatted as shown in this example: "case-12345678910-2013-c4c1d2bf33c5cf47"
- display_id - This is the 10 digit number shown in the AWS Support web interface and labeled "Case Id"
- include_resolved_cases - Specifies whether resolved support cases should be included in the
describe_cases/1
results. The default is false. If you are not getting data back and you expect to, ensure that you are setting this to true.
- language - The ISO 639-1 code for the language in which AWS provides support. Language parameters must be passed explicitly for operations that take them. The default is "en".
- max_results: The maximum number of results to return before paginating
- next_token: A resumption point for pagination
@type describe_communications_optional() :: [ after_time: after_time(), before_time: before_time(), max_results: max_results(), next_token: next_token() ] | %{ optional(:after_time) => after_time(), optional(:before_time) => before_time(), optional(:max_results) => max_results(), optional(:next_token) => next_token() }
Optional input to the describe_communications/2
function
- after_time - The start date for a filtered date search on support case communications. Case communications are available for 12 months after creation. String format is: YYYY-MM-DDTHH:MM, for example: 2018-12-19T16:40"
- before_time - The end date for a filtered date search on support case communications. Case communications are available for 12 months after creation.
- max_results - The maximum number of results to return before paginating. Integer. Valid Range: Minimum value of 10. Maximum value of 100.
- next_token - A resumption point for pagination
@type display_id() :: binary()
The ID displayed for a case in the AWS Support Center user interface
@type issue_type() :: binary()
The type of issue for the case
Notes
If you don't specify a value, the default is "technical".
Valid Values
["customer-service", "technical"]
@type language() :: binary()
The language in which AWS Support handles the case
Notes
AWS Support currently supports Chinese (“zh”), English ("en"), Japanese ("ja") and Korean (“ko”). You must specify the ISO 639-1 code for the language parameter if you want support in that language.
@type max_results() :: pos_integer()
The maximum number of results to return before paginating
- Valid Range: Minimum value of 10. Maximum value of 100.
@type next_token() :: binary()
A resumption point for pagination
Returned by previous call as "nextToken" in the JSON.
@type service_code() :: binary()
The code for the AWS service
Notes
You can use the describe_services/2
function to get the possible service_code values.
@type severity_code() :: binary()
A value that indicates the urgency of the case
Notes
This value determines the response time according to your service level agreement with AWS
Support. You can use the describe_severity_levels/1
operation to get the possible values for
severity_code.
For more information, see SeverityLevel and Choosing a Severity in the AWS Support User Guide.
Note: The availability of severity levels depends on the support plan for the AWS account.
@type subject() :: binary()
The title of the support case
The title appears in the Subject field on the AWS Support Center Create Case page.
Functions
@spec add_attachments_to_set(attachments(), attachment_set_id() | nil) :: ExAws.Operation.JSON.t()
Adds one or more attachments to an attachment set
Parameter Descriptions
- attachments - One or more attachments to add to the set
- attachment_set_id - The ID of the attachment set (to add the attachments to). If nil is provided for this then a new attachment set is created
Notes
If an attachment_set_id is not specified, a new attachment set is created, and the ID of the set is returned in the response. If an attachment_set_id is specified, the attachments are added to the specified set, if it exists.
An attachment set is a temporary container for attachments that are to be added to a case or case communication. The set is available for one hour after it is created; the expiryTime returned in the response indicates when the set expires. The maximum number of attachments in a set is 3, and the maximum size of any attachment in the set is 5 MB.
Examples
iex> attachment_set_id = "as-2f5a6faa2a4a1e600-mu-nk5xQlBr70-G1cUos5LZkd38KOAHZa9BMDVzNEXAMPLE"
iex> data = Base.encode64("This is a test")
iex> attachments = [%{file_name: "troubleshoot-screenshot.png", data: data}]
iex> ExAws.Support.add_attachments_to_set(attachments, attachment_set_id)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{
"attachmentSetId" => "as-2f5a6faa2a4a1e600-mu-nk5xQlBr70-G1cUos5LZkd38KOAHZa9BMDVzNEXAMPLE",
"attachments" => [
%{
"data" => "VGhpcyBpcyBhIHRlc3Q=",
"fileName" => "troubleshoot-screenshot.png"
}
]
},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.AddAttachmentsToSet"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
iex> file1 = "MyTest.txt"
iex> data1 = Base.encode64("This is MyTest.txt contents")
iex> file2 = "OtherFile.txt"
iex> data2 = Base.encode64("This is OtherFile.txt contents")
iex> attachments = [[data: data1, file_name: file1], [data: data2, file_name: file2]]
iex> ExAws.Support.add_attachments_to_set(attachments)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{
"attachments" => [
%{
"data" => "VGhpcyBpcyBNeVRlc3QudHh0IGNvbnRlbnRz",
"fileName" => "MyTest.txt"
},
%{
"data" => "VGhpcyBpcyBPdGhlckZpbGUudHh0IGNvbnRlbnRz",
"fileName" => "OtherFile.txt"
}
]
},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.AddAttachmentsToSet"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
add_communication_to_case(case_id, attachment_set_id, communication_body, cc_email_addresses \\ [])
View Source@spec add_communication_to_case( case_id(), attachment_set_id(), communication_body(), cc_email_addresses() ) :: ExAws.Operation.JSON.t()
Adds additional customer communication to an AWS Support case
Parameter Descriptions
- case_id - The AWS Support case ID requested or returned in the call
- attachment_set_id - The ID of a set of one or more attachments for the communication to add to the case
- communication_body - The body of an email communication to add to the support case
- cc_email_addresses - The email addresses in the CC line of an email to be added to the support case
Notes
You use the case_id value to identify the case to add communication to. You can list a set of email addresses to copy on the communication using the cc_email_addresses value. The communication_body value contains the text of the communication.
The response indicates the success or failure of the request
Examples
iex> case_id = "case-12345678910-2013-c4c1d2bf33c5cf47"
iex> attachment_set_id = "attachment_set_id"
iex> communication_body = "Important text"
iex> cc_email_addresses = ["test@test.com", "xyz@test.com"]
iex> ExAws.Support.add_communication_to_case(case_id, attachment_set_id, communication_body, cc_email_addresses)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{
"attachmentSetId" => "attachment_set_id",
"caseId" => "case-12345678910-2013-c4c1d2bf33c5cf47",
"ccEmailAddresses" => ["test@test.com", "xyz@test.com"],
"communicationBody" => "Important text"
},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.AddCommunicationToCase"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
create_case(subject, communication_body, create_case_optional \\ [])
View Source@spec create_case(subject(), communication_body(), create_case_optional()) :: ExAws.Operation.JSON.t()
Creates a new case in the AWS Support Center
Parameter Descriptions
- subject - The title of the support case
- communication_body - The communication body text that describes the issue
- create_case_optional - Optional data used when creating the case
Notes
This operation is modeled on the behavior of the AWS Support Center Create Case page
- subject - The Subject field on the AWS Support Center Create Case page.
- communication_body - The Description field on the AWS Support Center Create Case page.
- create_case_optional - Optional fields
Note: To add additional communication or attachments to an existing case, use
add_communication_to_case/4
.
A successful create_case/3
request returns an AWS Support case number. Case numbers are used by
the describe_cases operation to retrieve existing AWS Support cases.
Examples
iex> subject = "Question about my account"
iex> communication_body = "I want to learn more about the AWS XYZZY service."
iex> ExAws.Support.create_case(subject, communication_body)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{
"communicationBody" => "I want to learn more about the AWS XYZZY service.",
"subject" => "Question about my account"
},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.CreateCase"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
iex> create_case_optional = [
...> service_code: "amazon-relational-database-service-mariadb",
...> severity_code: "urgent",
...> issue_type: "technical",
...> category_code: "connectivity",
...> language: "en"
...> ]
iex> subject = "Problem with our MariaDB"
iex> communication_body = "Cannot connect to XYZ"
iex> ExAws.Support.create_case(subject, communication_body, create_case_optional)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{
"categoryCode" => "connectivity",
"communicationBody" => "Cannot connect to XYZ",
"issueType" => "technical",
"language" => "en",
"serviceCode" => "amazon-relational-database-service-mariadb",
"severityCode" => "urgent",
"subject" => "Problem with our MariaDB"
},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.CreateCase"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
@spec describe_attachment(attachment_id()) :: ExAws.Operation.JSON.t()
Returns the attachment that has the specified ID
Parameter Descriptions
- attachment_id - The ID of the attachment to return
Notes
Attachments can include screenshots, error logs, or other files that describe your issue.
Attachment IDs are generated by the case management system when you add an attachment to a case or
case communication. Attachment IDs are returned in the AttachmentDetails objects that are returned
by the describe_communications/2
operation.
Examples
iex> attachment_id = "attachment-KBnjRNrePd9D6Jx0"
iex> ExAws.Support.describe_attachment(attachment_id)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{"attachmentId" => "attachment-KBnjRNrePd9D6Jx0"},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.DescribeAttachment"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
@spec describe_cases(describe_cases_optional()) :: ExAws.Operation.JSON.t()
Returns a list of cases that you specify by passing one or more case IDs
Parameter Descriptions
- describe_cases_optional - Optional fields
Notes
Since no arguments are required you can call this API to list all your cases.
In addition, you can filter the cases by date by setting values for the after_time and before_time request parameters. You can set values for the include_resolved_cases and include_communications request parameters to control how much information is returned.
Case data is available for 12 months after creation. If a case was created more than 12 months ago, a request for data might cause an error.
The response returns the following in JSON format:
- One or more CaseDetails data types.
- One or more next_token values, which specify where to paginate the returned records represented by the CaseDetails objects.
Examples
iex> ExAws.Support.describe_cases()
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.DescribeCases"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
iex> ExAws.Support.describe_cases(after_time: "2018-12-01T01:00", include_resolved_cases: true)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{"afterTime" => "2018-12-01T01:00", "includeResolvedCases" => true},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.DescribeCases"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
describe_communications(case_id, describe_communications_optional \\ [])
View Source@spec describe_communications(case_id(), describe_communications_optional()) :: ExAws.Operation.JSON.t()
Returns communications (and attachments) for one or more support cases
Parameter Descriptions
- case_id - The support case ID requested or returned in the call
- describe_communications_optional - optional data
Notes
You can use the after_time and before_time parameters to filter by date. You can use the caseId parameter to restrict the results to a particular case.
Case data is available for 12 months after creation. If a case was created more than 12 months ago, a request for data might cause an error.
You can use the max_results and next_token parameters to control the pagination of the result set. Set max_results to the number of cases you want displayed on each page, and use next_token to specify the resumption of pagination.
Examples
iex> case_id = "case-12345678910-2013-c4c1d2bf33c5cf47"
iex> ExAws.Support.describe_communications(case_id)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{"caseId" => "case-12345678910-2013-c4c1d2bf33c5cf47"},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.DescribeCommunications"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
iex> describe_communication_optional = %{after_time: "2018-12-01T01:00", max_results: 10}
iex> case_id = "case-12345678910-2013-c4c1d2bf33c5cf47"
iex> ExAws.Support.describe_communications(case_id, describe_communication_optional)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{
"afterTime" => "2018-12-01T01:00",
"caseId" => "case-12345678910-2013-c4c1d2bf33c5cf47",
"maxResults" => 10
},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.DescribeCommunications"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
describe_create_case_options(service_code, category_code, issue_type, language \\ "en")
View Source@spec describe_create_case_options( service_code(), category_code(), issue_type(), language() ) :: ExAws.Operation.JSON.t()
Returns a list of CreateCaseOption types along with the corresponding supported hours and language availability
Parameter Descriptions
- service_code - The code for the AWS service
- category_code - The category of problem for the support case.
- issue_type - The type of issue for the case
- language - The ISO 639-1 code for the language in which AWS provides support. Language parameters must be passed explicitly for operations that take them. The default is "en".
Notes
You can specify the language categoryCode, issueType and serviceCode used to retrieve the CreateCaseOptions.
Examples
iex> service_code = "rds"
iex> issue_type = "technical"
iex> category_code = "console"
iex> ExAws.Support.describe_create_case_options(service_code, category_code, issue_type)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{
"categoryCode" => "console",
"issueType" => "technical",
"language" => "en",
"serviceCode" => "rds"
},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.DescribeCreateCaseOptions"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
@spec describe_services(language(), [binary()]) :: ExAws.Operation.JSON.t()
Returns the current list of AWS services and a list of service categories that applies to each one
Parameter Descriptions
- language - The ISO 639-1 code for the language in which AWS provides support. Language parameters must be passed explicitly for operations that take them. The default is "en".
- service_code_list - list of service codes available for AWS services
Notes
You then use service names and categories in your create_case requests. Each AWS service has its own set of categories.
The service codes and category codes correspond to the values that are displayed in the Service
and Category drop-down lists on the AWS Support Center Create Case page. The values in those
fields, however, do not necessarily match the service codes and categories returned by the
describe_services/2
request. Always use the service codes and categories obtained
programmatically. This practice ensures that you always have the most recent set of service and
category codes.
Examples
iex> ExAws.Support.describe_services()
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{"language" => "en", "serviceCodeList" => []},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.DescribeServices"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
@spec describe_severity_levels(language()) :: ExAws.Operation.JSON.t()
Returns the list of severity levels that you can assign to an AWS Support case
Parameter Descriptions
- language - The ISO 639-1 code for the language in which AWS provides support. Language parameters must be passed explicitly for operations that take them. The default is "en".
Notes
The severity level for a case is also a field in the CaseDetails data type
included in any create_case/1
request.
Parameter Descriptions
- language - The ISO 639-1 code for the language in which AWS provides support. Language parameters must be passed explicitly for operations that take them. The default is "en".
Examples
iex> ExAws.Support.describe_severity_levels()
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{"language" => "en"},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.DescribeSeverityLevels"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
describe_supported_languages(service_code, category_code, issue_type)
View Source@spec describe_supported_languages(service_code(), category_code(), issue_type()) :: ExAws.Operation.JSON.t()
Returns a list of supported languages for a specified category_code, issue_type and service_code
Parameter Descriptions
- service_code - The code for the AWS service
- category_code - The category of problem for the support case
- issue_type - The type of issue for the case
Notes
The returned supported languages will include a ISO 639-1 code for the language, and the language display name.
Examples
iex> service_code = "rds"
iex> category_code = "console"
iex> issue_type = "technical"
iex> ExAws.Support.describe_supported_languages(service_code, category_code, issue_type)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{
"categoryCode" => "console",
"issueType" => "technical",
"serviceCode" => "rds"
},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.DescribeSupportedLanguages"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
@spec describe_trusted_advisor_check_refresh_statuses([check_id()]) :: ExAws.Operation.JSON.t()
Returns the refresh status of the Trusted Advisor checks that have the specified check IDs
Parameter Descriptions
- check_ids - a list of
check_id/0
Strings
Notes
Check IDs can be obtained by calling describe_trusted_advisor_checks/1
.
Some checks are refreshed automatically, and their refresh statuses cannot be retrieved by using
this operation. Use of the describe_trusted_advisor_check_refresh_statuses/1
operation for these
checks causes an InvalidParameterValue error.
To call the AWS Trusted Advisor operations in the AWS Support API, you must use the US East (N. Virginia) endpoint. Currently, the US West (Oregon) and Europe (Ireland) endpoints don't support the Trusted Advisor operations. For more information, see About the AWS Support API in the AWS Support User Guide.
Examples
iex> check_ids = ["Pfx0RwqBli"]
iex> ExAws.Support.describe_trusted_advisor_check_refresh_statuses(check_ids)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{"checkIds" => ["Pfx0RwqBli"]},
params: %{},
headers: [
{"x-amz-target",
"AWSSupport_20130415.DescribeTrustedAdvisorCheckRefreshStatuses"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
@spec describe_trusted_advisor_check_result(check_id(), language()) :: ExAws.Operation.JSON.t()
Returns the results of the Trusted Advisor check that has the specified check ID
Parameter Descriptions
- check_id - The unique identifier for the Trusted Advisor check
- language - The ISO 639-1 code for the language in which AWS provides support. Language parameters must be passed explicitly for operations that take them. The default is "en".
Notes
Check IDs can be obtained by calling DescribeTrustedAdvisorChecks.
The response contains a TrustedAdvisorCheckResult object, which contains these three objects:
- TrustedAdvisorCategorySpecificSummary
- TrustedAdvisorResourceDetail
- TrustedAdvisorResourcesSummary
In addition, the response contains these fields:
- status. The alert status of the check: "ok" (green), "warning" (yellow), "error" (red), or "not_available".
- timestamp. The time of the last refresh of the check.
- checkId. The unique identifier for the check.
Examples
iex> check_id = "Pfx0RwqBli"
iex> ExAws.Support.describe_trusted_advisor_check_result(check_id)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{"checkId" => "Pfx0RwqBli", "language" => "en"},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.DescribeTrustedAdvisorCheckResult"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
@spec describe_trusted_advisor_check_summaries([check_id()]) :: ExAws.Operation.JSON.t()
Returns the summaries of the results of the Trusted Advisor checks that have the specified check IDs
Parameter Descriptions
- check_ids - a list of
check_id/0
Strings
Notes
check_ids can be obtained by calling describe_trusted_advisor_checks/1
.
The response contains an array of TrustedAdvisorCheckSummary objects.
The names and descriptions for Trusted Advisor checks are subject to change. We recommend that you specify the check ID in your code to uniquely identify a check.
To call the AWS Trusted Advisor operations in the AWS Support API, you must use the US East (N. Virginia) endpoint. Currently, the US West (Oregon) and Europe (Ireland) endpoints don't support the Trusted Advisor operations. For more information, see About the AWS Support API in the AWS Support User Guide.
Examples
iex> check_ids = ["Pfx0RwqBli", "Tzz9913B7d"]
iex> ExAws.Support.describe_trusted_advisor_check_summaries(check_ids)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{"checkIds" => ["Pfx0RwqBli", "Tzz9913B7d"]},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.DescribeTrustedAdvisorCheckSummaries"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
@spec describe_trusted_advisor_checks(language()) :: ExAws.Operation.JSON.t()
Returns information about all available Trusted Advisor checks, including name, ID, category, description, and metadata
Parameter Descriptions
- language - The ISO 639-1 code for the language in which AWS provides support. Language parameters must be passed explicitly for operations that take them. The default is "en".
Notes
You must specify a language code; English ("en") and Japanese ("ja") are currently supported. The response contains a TrustedAdvisorCheckDescription for each check.
The names and descriptions for Trusted Advisor checks are subject to change. We recommend that you specify the check ID in your code to uniquely identify a check.
To call the AWS Trusted Advisor operations in the AWS Support API, you must use the US East (N. Virginia) endpoint. Currently, the US West (Oregon) and Europe (Ireland) endpoints don't support the Trusted Advisor operations. For more information, see About the AWS Support API in the AWS Support User Guide.
Examples
iex> ExAws.Support.describe_trusted_advisor_checks()
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{"language" => "en"},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.DescribeTrustedAdvisorChecks"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
@spec refresh_trusted_advisor_check(check_id()) :: ExAws.Operation.JSON.t()
Requests a refresh of the Trusted Advisor check that has the specified check_id
Parameter Descriptions
- check_id - The unique identifier for the Trusted Advisor check
Notes
Check IDs can be obtained by calling describe_trusted_advisor_checks/1
Some checks are refreshed automatically, and they cannot be refreshed by using this operation. Use
of the refresh_trusted_advisor_check/1
function for these checks causes an InvalidParameterValue
error.
The names and descriptions for Trusted Advisor checks are subject to change. We recommend that you specify the check ID in your code to uniquely identify a check.
To call the AWS Trusted Advisor operations in the AWS Support API, you must use the US East (N. Virginia) endpoint. Currently, the US West (Oregon) and Europe (Ireland) endpoints don't support the Trusted Advisor operations. For more information, see About the AWS Support API in the AWS Support User Guide.
Examples
iex> check_id = "Pfx0RwqBli"
iex> ExAws.Support.refresh_trusted_advisor_check(check_id)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{"checkId" => "Pfx0RwqBli"},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.RefreshTrustedAdvisorCheck"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}
@spec resolve_case(case_id()) :: ExAws.Operation.JSON.t()
Takes a case_id and returns the initial state of the case along with the state of the case after the call to resolve_case completed
Parameter Descriptions
- case_id - The AWS Support case id that you are resolving
Examples
iex> case_id = "case-12345678910-2013-c4c1d2bf33c5cf47"
iex> ExAws.Support.resolve_case(case_id)
%ExAws.Operation.JSON{
stream_builder: nil,
http_method: :post,
parser: &Function.identity/1,
error_parser: &Function.identity/1,
path: "/",
data: %{"caseId" => "case-12345678910-2013-c4c1d2bf33c5cf47"},
params: %{},
headers: [
{"x-amz-target", "AWSSupport_20130415.ResolveCase"},
{"content-type", "application/x-amz-json-1.1"}
],
service: :support,
before_request: nil
}