Packages
aws
1.0.6
1.0.14
1.0.13
1.0.12
1.0.11
1.0.10
1.0.9
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.14.1
0.14.0
0.13.3
0.13.2
0.13.1
0.13.0
0.12.0
0.11.0
0.10.1
0.10.0
0.9.2
0.9.1
0.9.0
0.8.0
0.7.0
0.6.0
0.5.0
0.4.0
0.3.0
0.2.0
0.1.0
0.0.12
0.0.11
0.0.10
0.0.9
0.0.8
0.0.7
0.0.6
0.0.5
0.0.4
0.0.3
0.0.2
0.0.1
AWS clients for Elixir
Current section
Files
Jump to
Current section
Files
lib/aws/generated/security_i_r.ex
# WARNING: DO NOT EDIT, AUTO-GENERATED CODE!
# See https://github.com/aws-beam/aws-codegen for more details.
defmodule AWS.SecurityIR do
@moduledoc """
This guide provides documents the action and response elements for customer use
of the service.
"""
alias AWS.Client
alias AWS.Request
@typedoc """
## Example:
case_attachment_attributes() :: %{
"attachmentId" => String.t(),
"attachmentStatus" => list(any()),
"createdDate" => [non_neg_integer()],
"creator" => String.t(),
"fileName" => String.t()
}
"""
@type case_attachment_attributes() :: %{String.t() => any()}
@typedoc """
## Example:
get_membership_response() :: %{
"accountId" => String.t(),
"customerType" => list(any()),
"incidentResponseTeam" => list(incident_responder()()),
"membershipActivationTimestamp" => [non_neg_integer()],
"membershipArn" => String.t(),
"membershipDeactivationTimestamp" => [non_neg_integer()],
"membershipId" => String.t(),
"membershipName" => String.t(),
"membershipStatus" => list(any()),
"numberOfAccountsCovered" => [float()],
"optInFeatures" => list(opt_in_feature()()),
"region" => list(any())
}
"""
@type get_membership_response() :: %{String.t() => any()}
@typedoc """
## Example:
security_incident_response_not_active_exception() :: %{
"message" => [String.t()]
}
"""
@type security_incident_response_not_active_exception() :: %{String.t() => any()}
@typedoc """
## Example:
get_membership_account_detail_error() :: %{
"accountId" => String.t(),
"error" => [String.t()],
"message" => [String.t()]
}
"""
@type get_membership_account_detail_error() :: %{String.t() => any()}
@typedoc """
## Example:
list_membership_item() :: %{
"accountId" => String.t(),
"membershipArn" => String.t(),
"membershipId" => String.t(),
"membershipStatus" => list(any()),
"region" => list(any())
}
"""
@type list_membership_item() :: %{String.t() => any()}
@typedoc """
## Example:
get_membership_account_detail_item() :: %{
"accountId" => String.t(),
"relationshipStatus" => list(any()),
"relationshipType" => list(any())
}
"""
@type get_membership_account_detail_item() :: %{String.t() => any()}
@typedoc """
## Example:
create_case_comment_request() :: %{
optional("clientToken") => [String.t()],
required("body") => String.t()
}
"""
@type create_case_comment_request() :: %{String.t() => any()}
@typedoc """
## Example:
watcher() :: %{
"email" => String.t(),
"jobTitle" => String.t(),
"name" => String.t()
}
"""
@type watcher() :: %{String.t() => any()}
@typedoc """
## Example:
list_memberships_request() :: %{
optional("maxResults") => [integer()],
optional("nextToken") => [String.t()]
}
"""
@type list_memberships_request() :: %{String.t() => any()}
@typedoc """
## Example:
impacted_aws_region() :: %{
"region" => list(any())
}
"""
@type impacted_aws_region() :: %{String.t() => any()}
@typedoc """
## Example:
create_case_request() :: %{
optional("clientToken") => [String.t()],
optional("impactedAwsRegions") => list(impacted_aws_region()()),
optional("impactedServices") => list(String.t()()),
optional("tags") => map(),
optional("threatActorIpAddresses") => list(threat_actor_ip()()),
required("description") => String.t(),
required("engagementType") => list(any()),
required("impactedAccounts") => list(String.t()()),
required("reportedIncidentStartDate") => [non_neg_integer()],
required("resolverType") => list(any()),
required("title") => String.t(),
required("watchers") => list(watcher()())
}
"""
@type create_case_request() :: %{String.t() => any()}
@typedoc """
## Example:
incident_responder() :: %{
"email" => String.t(),
"jobTitle" => String.t(),
"name" => String.t()
}
"""
@type incident_responder() :: %{String.t() => any()}
@typedoc """
## Example:
create_case_response() :: %{
"caseId" => String.t()
}
"""
@type create_case_response() :: %{String.t() => any()}
@typedoc """
## Example:
batch_get_member_account_details_request() :: %{
required("accountIds") => list(String.t()())
}
"""
@type batch_get_member_account_details_request() :: %{String.t() => any()}
@typedoc """
## Example:
update_resolver_type_response() :: %{
"caseId" => String.t(),
"caseStatus" => list(any()),
"resolverType" => list(any())
}
"""
@type update_resolver_type_response() :: %{String.t() => any()}
@typedoc """
## Example:
list_cases_request() :: %{
optional("maxResults") => [integer()],
optional("nextToken") => [String.t()]
}
"""
@type list_cases_request() :: %{String.t() => any()}
@typedoc """
## Example:
get_case_response() :: %{
"actualIncidentStartDate" => [non_neg_integer()],
"caseArn" => String.t(),
"caseAttachments" => list(case_attachment_attributes()()),
"caseStatus" => list(any()),
"closedDate" => [non_neg_integer()],
"closureCode" => list(any()),
"createdDate" => [non_neg_integer()],
"description" => String.t(),
"engagementType" => list(any()),
"impactedAccounts" => list(String.t()()),
"impactedAwsRegions" => list(impacted_aws_region()()),
"impactedServices" => list(String.t()()),
"lastUpdatedDate" => [non_neg_integer()],
"pendingAction" => list(any()),
"reportedIncidentStartDate" => [non_neg_integer()],
"resolverType" => list(any()),
"threatActorIpAddresses" => list(threat_actor_ip()()),
"title" => String.t(),
"watchers" => list(watcher()())
}
"""
@type get_case_response() :: %{String.t() => any()}
@typedoc """
## Example:
list_tags_for_resource_output() :: %{
"tags" => map()
}
"""
@type list_tags_for_resource_output() :: %{String.t() => any()}
@typedoc """
## Example:
list_cases_response() :: %{
"items" => list(list_cases_item()()),
"nextToken" => [String.t()],
"total" => [float()]
}
"""
@type list_cases_response() :: %{String.t() => any()}
@typedoc """
## Example:
list_comments_request() :: %{
optional("maxResults") => [integer()],
optional("nextToken") => [String.t()]
}
"""
@type list_comments_request() :: %{String.t() => any()}
@typedoc """
## Example:
list_cases_item() :: %{
"caseArn" => String.t(),
"caseId" => String.t(),
"caseStatus" => list(any()),
"closedDate" => [non_neg_integer()],
"createdDate" => [non_neg_integer()],
"engagementType" => list(any()),
"lastUpdatedDate" => [non_neg_integer()],
"pendingAction" => list(any()),
"resolverType" => list(any()),
"title" => String.t()
}
"""
@type list_cases_item() :: %{String.t() => any()}
@typedoc """
## Example:
close_case_response() :: %{
"caseStatus" => list(any()),
"closedDate" => [non_neg_integer()]
}
"""
@type close_case_response() :: %{String.t() => any()}
@typedoc """
## Example:
get_case_attachment_download_url_request() :: %{}
"""
@type get_case_attachment_download_url_request() :: %{}
@typedoc """
## Example:
conflict_exception() :: %{
"message" => [String.t()],
"resourceId" => [String.t()],
"resourceType" => [String.t()]
}
"""
@type conflict_exception() :: %{String.t() => any()}
@typedoc """
## Example:
resource_not_found_exception() :: %{
"message" => [String.t()]
}
"""
@type resource_not_found_exception() :: %{String.t() => any()}
@typedoc """
## Example:
get_case_attachment_upload_url_request() :: %{
optional("clientToken") => [String.t()],
required("contentLength") => float(),
required("fileName") => String.t()
}
"""
@type get_case_attachment_upload_url_request() :: %{String.t() => any()}
@typedoc """
## Example:
get_case_request() :: %{}
"""
@type get_case_request() :: %{}
@typedoc """
## Example:
service_quota_exceeded_exception() :: %{
"message" => [String.t()],
"quotaCode" => [String.t()],
"resourceId" => [String.t()],
"resourceType" => [String.t()],
"serviceCode" => [String.t()]
}
"""
@type service_quota_exceeded_exception() :: %{String.t() => any()}
@typedoc """
## Example:
list_case_edits_request() :: %{
optional("maxResults") => [integer()],
optional("nextToken") => [String.t()]
}
"""
@type list_case_edits_request() :: %{String.t() => any()}
@typedoc """
## Example:
update_membership_response() :: %{}
"""
@type update_membership_response() :: %{}
@typedoc """
## Example:
update_case_status_response() :: %{
"caseStatus" => list(any())
}
"""
@type update_case_status_response() :: %{String.t() => any()}
@typedoc """
## Example:
validation_exception_field() :: %{
"message" => [String.t()],
"name" => [String.t()]
}
"""
@type validation_exception_field() :: %{String.t() => any()}
@typedoc """
## Example:
get_case_attachment_download_url_response() :: %{
"attachmentPresignedUrl" => String.t()
}
"""
@type get_case_attachment_download_url_response() :: %{String.t() => any()}
@typedoc """
## Example:
update_case_comment_request() :: %{
required("body") => String.t()
}
"""
@type update_case_comment_request() :: %{String.t() => any()}
@typedoc """
## Example:
list_case_edits_response() :: %{
"items" => list(case_edit_item()()),
"nextToken" => [String.t()],
"total" => [integer()]
}
"""
@type list_case_edits_response() :: %{String.t() => any()}
@typedoc """
## Example:
tag_resource_input() :: %{
required("tags") => map()
}
"""
@type tag_resource_input() :: %{String.t() => any()}
@typedoc """
## Example:
close_case_request() :: %{}
"""
@type close_case_request() :: %{}
@typedoc """
## Example:
tag_resource_output() :: %{}
"""
@type tag_resource_output() :: %{}
@typedoc """
## Example:
update_case_status_request() :: %{
required("caseStatus") => list(any())
}
"""
@type update_case_status_request() :: %{String.t() => any()}
@typedoc """
## Example:
get_membership_request() :: %{}
"""
@type get_membership_request() :: %{}
@typedoc """
## Example:
update_membership_request() :: %{
optional("incidentResponseTeam") => list(incident_responder()()),
optional("membershipName") => String.t(),
optional("optInFeatures") => list(opt_in_feature()())
}
"""
@type update_membership_request() :: %{String.t() => any()}
@typedoc """
## Example:
internal_server_exception() :: %{
"message" => [String.t()],
"retryAfterSeconds" => [integer()]
}
"""
@type internal_server_exception() :: %{String.t() => any()}
@typedoc """
## Example:
update_case_request() :: %{
optional("actualIncidentStartDate") => [non_neg_integer()],
optional("description") => String.t(),
optional("engagementType") => list(any()),
optional("impactedAccountsToAdd") => list(String.t()()),
optional("impactedAccountsToDelete") => list(String.t()()),
optional("impactedAwsRegionsToAdd") => list(impacted_aws_region()()),
optional("impactedAwsRegionsToDelete") => list(impacted_aws_region()()),
optional("impactedServicesToAdd") => list(String.t()()),
optional("impactedServicesToDelete") => list(String.t()()),
optional("reportedIncidentStartDate") => [non_neg_integer()],
optional("threatActorIpAddressesToAdd") => list(threat_actor_ip()()),
optional("threatActorIpAddressesToDelete") => list(threat_actor_ip()()),
optional("title") => String.t(),
optional("watchersToAdd") => list(watcher()()),
optional("watchersToDelete") => list(watcher()())
}
"""
@type update_case_request() :: %{String.t() => any()}
@typedoc """
## Example:
access_denied_exception() :: %{
"message" => [String.t()]
}
"""
@type access_denied_exception() :: %{String.t() => any()}
@typedoc """
## Example:
opt_in_feature() :: %{
"featureName" => list(any()),
"isEnabled" => [boolean()]
}
"""
@type opt_in_feature() :: %{String.t() => any()}
@typedoc """
## Example:
untag_resource_input() :: %{
required("tagKeys") => list(String.t()())
}
"""
@type untag_resource_input() :: %{String.t() => any()}
@typedoc """
## Example:
case_edit_item() :: %{
"action" => String.t(),
"eventTimestamp" => [non_neg_integer()],
"message" => String.t(),
"principal" => [String.t()]
}
"""
@type case_edit_item() :: %{String.t() => any()}
@typedoc """
## Example:
list_memberships_response() :: %{
"items" => list(list_membership_item()()),
"nextToken" => [String.t()]
}
"""
@type list_memberships_response() :: %{String.t() => any()}
@typedoc """
## Example:
get_case_attachment_upload_url_response() :: %{
"attachmentPresignedUrl" => String.t()
}
"""
@type get_case_attachment_upload_url_response() :: %{String.t() => any()}
@typedoc """
## Example:
validation_exception() :: %{
"fieldList" => list(validation_exception_field()()),
"message" => [String.t()],
"reason" => list(any())
}
"""
@type validation_exception() :: %{String.t() => any()}
@typedoc """
## Example:
list_tags_for_resource_input() :: %{}
"""
@type list_tags_for_resource_input() :: %{}
@typedoc """
## Example:
untag_resource_output() :: %{}
"""
@type untag_resource_output() :: %{}
@typedoc """
## Example:
throttling_exception() :: %{
"message" => [String.t()],
"quotaCode" => [String.t()],
"retryAfterSeconds" => [integer()],
"serviceCode" => [String.t()]
}
"""
@type throttling_exception() :: %{String.t() => any()}
@typedoc """
## Example:
batch_get_member_account_details_response() :: %{
"errors" => list(get_membership_account_detail_error()()),
"items" => list(get_membership_account_detail_item()())
}
"""
@type batch_get_member_account_details_response() :: %{String.t() => any()}
@typedoc """
## Example:
update_case_comment_response() :: %{
"body" => String.t(),
"commentId" => String.t()
}
"""
@type update_case_comment_response() :: %{String.t() => any()}
@typedoc """
## Example:
list_comments_item() :: %{
"body" => String.t(),
"commentId" => String.t(),
"createdDate" => [non_neg_integer()],
"creator" => String.t(),
"lastUpdatedBy" => String.t(),
"lastUpdatedDate" => [non_neg_integer()]
}
"""
@type list_comments_item() :: %{String.t() => any()}
@typedoc """
## Example:
create_case_comment_response() :: %{
"commentId" => String.t()
}
"""
@type create_case_comment_response() :: %{String.t() => any()}
@typedoc """
## Example:
update_resolver_type_request() :: %{
required("resolverType") => list(any())
}
"""
@type update_resolver_type_request() :: %{String.t() => any()}
@typedoc """
## Example:
create_membership_request() :: %{
optional("clientToken") => [String.t()],
optional("optInFeatures") => list(opt_in_feature()()),
optional("tags") => map(),
required("incidentResponseTeam") => list(incident_responder()()),
required("membershipName") => String.t()
}
"""
@type create_membership_request() :: %{String.t() => any()}
@typedoc """
## Example:
cancel_membership_request() :: %{}
"""
@type cancel_membership_request() :: %{}
@typedoc """
## Example:
update_case_response() :: %{}
"""
@type update_case_response() :: %{}
@typedoc """
## Example:
list_comments_response() :: %{
"items" => list(list_comments_item()()),
"nextToken" => [String.t()],
"total" => [integer()]
}
"""
@type list_comments_response() :: %{String.t() => any()}
@typedoc """
## Example:
invalid_token_exception() :: %{
"message" => [String.t()]
}
"""
@type invalid_token_exception() :: %{String.t() => any()}
@typedoc """
## Example:
create_membership_response() :: %{
"membershipId" => String.t()
}
"""
@type create_membership_response() :: %{String.t() => any()}
@typedoc """
## Example:
cancel_membership_response() :: %{
"membershipId" => String.t()
}
"""
@type cancel_membership_response() :: %{String.t() => any()}
@typedoc """
## Example:
threat_actor_ip() :: %{
"ipAddress" => String.t(),
"userAgent" => String.t()
}
"""
@type threat_actor_ip() :: %{String.t() => any()}
@type list_tags_for_resource_errors() ::
validation_exception() | access_denied_exception() | resource_not_found_exception()
@type tag_resource_errors() ::
validation_exception() | access_denied_exception() | resource_not_found_exception()
@type untag_resource_errors() ::
validation_exception() | access_denied_exception() | resource_not_found_exception()
def metadata do
%{
api_version: "2018-05-10",
content_type: "application/x-amz-json-1.1",
credential_scope: nil,
endpoint_prefix: "security-ir",
global?: false,
hostname: nil,
protocol: "rest-json",
service_id: "Security IR",
signature_version: "v4",
signing_name: "security-ir",
target_prefix: nil
}
end
@doc """
Grants permission to view an existing membership.
"""
@spec batch_get_member_account_details(
map(),
String.t(),
batch_get_member_account_details_request(),
list()
) ::
{:ok, batch_get_member_account_details_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def batch_get_member_account_details(%Client{} = client, membership_id, input, options \\ []) do
url_path = "/v1/membership/#{AWS.Util.encode_uri(membership_id)}/batch-member-details"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Grants permissions to cancel an existing membership.
"""
@spec cancel_membership(map(), String.t(), cancel_membership_request(), list()) ::
{:ok, cancel_membership_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def cancel_membership(%Client{} = client, membership_id, input, options \\ []) do
url_path = "/v1/membership/#{AWS.Util.encode_uri(membership_id)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:put,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Grants permission to close an existing case.
"""
@spec close_case(map(), String.t(), close_case_request(), list()) ::
{:ok, close_case_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def close_case(%Client{} = client, case_id, input, options \\ []) do
url_path = "/v1/cases/#{AWS.Util.encode_uri(case_id)}/close-case"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Grants permission to create a new case.
"""
@spec create_case(map(), create_case_request(), list()) ::
{:ok, create_case_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def create_case(%Client{} = client, input, options \\ []) do
url_path = "/v1/create-case"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
201
)
end
@doc """
Grants permission to add a comment to an existing case.
"""
@spec create_case_comment(map(), String.t(), create_case_comment_request(), list()) ::
{:ok, create_case_comment_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def create_case_comment(%Client{} = client, case_id, input, options \\ []) do
url_path = "/v1/cases/#{AWS.Util.encode_uri(case_id)}/create-comment"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
201
)
end
@doc """
Grants permissions to create a new membership.
"""
@spec create_membership(map(), create_membership_request(), list()) ::
{:ok, create_membership_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def create_membership(%Client{} = client, input, options \\ []) do
url_path = "/v1/membership"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
201
)
end
@doc """
Grant permission to view a designated case.
"""
@spec get_case(map(), String.t(), list()) ::
{:ok, get_case_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def get_case(%Client{} = client, case_id, options \\ []) do
url_path = "/v1/cases/#{AWS.Util.encode_uri(case_id)}/get-case"
headers = []
query_params = []
meta = metadata()
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200)
end
@doc """
Grants permission to obtain an Amazon S3 presigned URL to download an
attachment.
"""
@spec get_case_attachment_download_url(map(), String.t(), String.t(), list()) ::
{:ok, get_case_attachment_download_url_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def get_case_attachment_download_url(%Client{} = client, attachment_id, case_id, options \\ []) do
url_path =
"/v1/cases/#{AWS.Util.encode_uri(case_id)}/get-presigned-url/#{AWS.Util.encode_uri(attachment_id)}"
headers = []
query_params = []
meta = metadata()
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 201)
end
@doc """
Grants permission to upload an attachment to a case.
"""
@spec get_case_attachment_upload_url(
map(),
String.t(),
get_case_attachment_upload_url_request(),
list()
) ::
{:ok, get_case_attachment_upload_url_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def get_case_attachment_upload_url(%Client{} = client, case_id, input, options \\ []) do
url_path = "/v1/cases/#{AWS.Util.encode_uri(case_id)}/get-presigned-url"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
201
)
end
@doc """
Grants permission to get details of a designated service membership.
"""
@spec get_membership(map(), String.t(), list()) ::
{:ok, get_membership_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def get_membership(%Client{} = client, membership_id, options \\ []) do
url_path = "/v1/membership/#{AWS.Util.encode_uri(membership_id)}"
headers = []
query_params = []
meta = metadata()
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200)
end
@doc """
Grants permissions to view the aidt log for edits made to a designated case.
"""
@spec list_case_edits(map(), String.t(), list_case_edits_request(), list()) ::
{:ok, list_case_edits_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def list_case_edits(%Client{} = client, case_id, input, options \\ []) do
url_path = "/v1/cases/#{AWS.Util.encode_uri(case_id)}/list-case-edits"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Grants permission to list all cases the requester has access to.
"""
@spec list_cases(map(), list_cases_request(), list()) ::
{:ok, list_cases_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def list_cases(%Client{} = client, input, options \\ []) do
url_path = "/v1/list-cases"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Grants permissions to list and view comments for a designated case.
"""
@spec list_comments(map(), String.t(), list_comments_request(), list()) ::
{:ok, list_comments_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def list_comments(%Client{} = client, case_id, input, options \\ []) do
url_path = "/v1/cases/#{AWS.Util.encode_uri(case_id)}/list-comments"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Grants permission to query the memberships a principal has access to.
"""
@spec list_memberships(map(), list_memberships_request(), list()) ::
{:ok, list_memberships_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def list_memberships(%Client{} = client, input, options \\ []) do
url_path = "/v1/memberships"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Grants permission to view currently configured tags on a resource.
"""
@spec list_tags_for_resource(map(), String.t(), list()) ::
{:ok, list_tags_for_resource_output(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, list_tags_for_resource_errors()}
def list_tags_for_resource(%Client{} = client, resource_arn, options \\ []) do
url_path = "/v1/tags/#{AWS.Util.encode_uri(resource_arn)}"
headers = []
query_params = []
meta = metadata()
Request.request_rest(client, meta, :get, url_path, query_params, headers, nil, options, 200)
end
@doc """
Grants permission to add a tag(s) to a designated resource.
"""
@spec tag_resource(map(), String.t(), tag_resource_input(), list()) ::
{:ok, tag_resource_output(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, tag_resource_errors()}
def tag_resource(%Client{} = client, resource_arn, input, options \\ []) do
url_path = "/v1/tags/#{AWS.Util.encode_uri(resource_arn)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
204
)
end
@doc """
Grants permission to remove a tag(s) from a designate resource.
"""
@spec untag_resource(map(), String.t(), untag_resource_input(), list()) ::
{:ok, untag_resource_output(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
| {:error, untag_resource_errors()}
def untag_resource(%Client{} = client, resource_arn, input, options \\ []) do
url_path = "/v1/tags/#{AWS.Util.encode_uri(resource_arn)}"
headers = []
custom_headers = []
{query_params, input} =
[
{"tagKeys", "tagKeys"}
]
|> Request.build_params(input)
meta = metadata()
Request.request_rest(
client,
meta,
:delete,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Grants permission to update an existing case.
"""
@spec update_case(map(), String.t(), update_case_request(), list()) ::
{:ok, update_case_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def update_case(%Client{} = client, case_id, input, options \\ []) do
url_path = "/v1/cases/#{AWS.Util.encode_uri(case_id)}/update-case"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Grants permission to update an existing case comment.
"""
@spec update_case_comment(map(), String.t(), String.t(), update_case_comment_request(), list()) ::
{:ok, update_case_comment_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def update_case_comment(%Client{} = client, case_id, comment_id, input, options \\ []) do
url_path =
"/v1/cases/#{AWS.Util.encode_uri(case_id)}/update-case-comment/#{AWS.Util.encode_uri(comment_id)}"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:put,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Grants permission to update the status for a designated cases.
Options include
```
Submitted |
Detection and Analysis | Eradication, Containment and Recovery | Post-Incident
Activities | Closed
```
.
"""
@spec update_case_status(map(), String.t(), update_case_status_request(), list()) ::
{:ok, update_case_status_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def update_case_status(%Client{} = client, case_id, input, options \\ []) do
url_path = "/v1/cases/#{AWS.Util.encode_uri(case_id)}/update-case-status"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
201
)
end
@doc """
Grants access to UpdateMembership to change membership configuration.
"""
@spec update_membership(map(), String.t(), update_membership_request(), list()) ::
{:ok, update_membership_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def update_membership(%Client{} = client, membership_id, input, options \\ []) do
url_path = "/v1/membership/#{AWS.Util.encode_uri(membership_id)}/update-membership"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:put,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
@doc """
Grants permission to update the resolver type for a case.
This is a one-way action and cannot be reversed.
Options include self-supported > AWS-supported.
"""
@spec update_resolver_type(map(), String.t(), update_resolver_type_request(), list()) ::
{:ok, update_resolver_type_response(), any()}
| {:error, {:unexpected_response, any()}}
| {:error, term()}
def update_resolver_type(%Client{} = client, case_id, input, options \\ []) do
url_path = "/v1/cases/#{AWS.Util.encode_uri(case_id)}/update-resolver-type"
headers = []
custom_headers = []
query_params = []
meta = metadata()
Request.request_rest(
client,
meta,
:post,
url_path,
query_params,
custom_headers ++ headers,
input,
options,
200
)
end
end