aws-sdk-securityir 1.15.0 → 1.17.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: dddd08e5ec6d212c839486cff422373f167fc363829c80a1875c5a74bbc7c027
4
- data.tar.gz: 4d72dae84a97b510222fb15059164cc462dbf3e8a2e9fcb6ed0fb53319a4bbd2
3
+ metadata.gz: 274db37e8074e163102806262ceff7a57d86ce33055e9976605ce87a836bc837
4
+ data.tar.gz: 87bb70cf6d47af0f3a9feacc5c34f0d4cc8096166b6b0009e504ecf9a9bbf0a9
5
5
  SHA512:
6
- metadata.gz: 598a196bad65748915e7e8ebdc71eb73b8c6f19d7fa2eddc26c92e081fa29018de00f3fbe577b443db7acf4a8b2ff023ef56dd844f51ab7f948453e2113c7057
7
- data.tar.gz: 61628182680bf029a3896a624ce9a99b077d82beccc95376859a11d0b059331e9498c2088d4e19c95c226c4b466db01c1558115e33664d14102a7c18a4fe087a
6
+ metadata.gz: 1bf2b8bd4d1320e4d5d3ab8f79af9f4e8bd80eb58d2e9505c1f12c152866daf67403acfc1cf379570940e7fa7aa7ef319112d8ad84833c9b953124f5f01c1730
7
+ data.tar.gz: 7e77009f64eb60b21832e653fc72213fa6d3cd99ecb7becba2cb587dc62febb95c4d844609e75d63daeef0858fcccbc33682516f8bbded7de474e236dfdd4eda
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.17.0 (2025-11-21)
5
+ ------------------
6
+
7
+ * Feature - Add ListInvestigations and SendFeedback APIs to support SecurityIR AI agents
8
+
9
+ 1.16.0 (2025-11-11)
10
+ ------------------
11
+
12
+ * Feature - Added support for configuring communication preferences as well as clearly displaying case comment author identities.
13
+
4
14
  1.15.0 (2025-10-28)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.15.0
1
+ 1.17.0
@@ -779,7 +779,7 @@ module Aws::SecurityIR
779
779
  # impacted_services: ["AwsService"],
780
780
  # impacted_aws_regions: [
781
781
  # {
782
- # region: "af-south-1", # required, accepts af-south-1, ap-east-1, ap-east-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-4, ap-southeast-5, ap-southeast-7, ca-central-1, ca-west-1, cn-north-1, cn-northwest-1, eu-central-1, eu-central-2, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, il-central-1, me-central-1, me-south-1, mx-central-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2
782
+ # region: "af-south-1", # required, accepts af-south-1, ap-east-1, ap-east-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-4, ap-southeast-5, ap-southeast-6, ap-southeast-7, ca-central-1, ca-west-1, cn-north-1, cn-northwest-1, eu-central-1, eu-central-2, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, il-central-1, me-central-1, me-south-1, mx-central-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2
783
783
  # },
784
784
  # ],
785
785
  # tags: {
@@ -951,6 +951,7 @@ module Aws::SecurityIR
951
951
  # name: "IncidentResponderName", # required
952
952
  # job_title: "JobTitle", # required
953
953
  # email: "EmailAddress", # required
954
+ # communication_preferences: ["Case Created"], # accepts Case Created, Case Updated, Case Acknowledged, Case Closed, Case Updated To Service Managed, Case Status Updated, Case Pending Customer Action Reminder, Case Attachment Url Uploaded, Case Comment Added, Case Comment Updated, Membership Created, Membership Updated, Membership Cancelled, Register Delegated Administrator, Deregister Delegated Administrator, Disable AWS Service Access
954
955
  # },
955
956
  # ],
956
957
  # opt_in_features: [
@@ -1004,6 +1005,7 @@ module Aws::SecurityIR
1004
1005
  # * {Types::GetCaseResponse#impacted_services #impacted_services} => Array<String>
1005
1006
  # * {Types::GetCaseResponse#case_attachments #case_attachments} => Array<Types::CaseAttachmentAttributes>
1006
1007
  # * {Types::GetCaseResponse#closed_date #closed_date} => Time
1008
+ # * {Types::GetCaseResponse#case_metadata #case_metadata} => Array<Types::CaseMetadataEntry>
1007
1009
  #
1008
1010
  #
1009
1011
  # @example Example: Invoke GetCase
@@ -1074,7 +1076,7 @@ module Aws::SecurityIR
1074
1076
  # resp.reported_incident_start_date #=> Time
1075
1077
  # resp.actual_incident_start_date #=> Time
1076
1078
  # resp.impacted_aws_regions #=> Array
1077
- # resp.impacted_aws_regions[0].region #=> String, one of "af-south-1", "ap-east-1", "ap-east-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-southeast-4", "ap-southeast-5", "ap-southeast-7", "ca-central-1", "ca-west-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-central-2", "eu-north-1", "eu-south-1", "eu-south-2", "eu-west-1", "eu-west-2", "eu-west-3", "il-central-1", "me-central-1", "me-south-1", "mx-central-1", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2"
1079
+ # resp.impacted_aws_regions[0].region #=> String, one of "af-south-1", "ap-east-1", "ap-east-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-southeast-4", "ap-southeast-5", "ap-southeast-6", "ap-southeast-7", "ca-central-1", "ca-west-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-central-2", "eu-north-1", "eu-south-1", "eu-south-2", "eu-west-1", "eu-west-2", "eu-west-3", "il-central-1", "me-central-1", "me-south-1", "mx-central-1", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2"
1078
1080
  # resp.threat_actor_ip_addresses #=> Array
1079
1081
  # resp.threat_actor_ip_addresses[0].ip_address #=> String
1080
1082
  # resp.threat_actor_ip_addresses[0].user_agent #=> String
@@ -1098,6 +1100,9 @@ module Aws::SecurityIR
1098
1100
  # resp.case_attachments[0].creator #=> String
1099
1101
  # resp.case_attachments[0].created_date #=> Time
1100
1102
  # resp.closed_date #=> Time
1103
+ # resp.case_metadata #=> Array
1104
+ # resp.case_metadata[0].key #=> String
1105
+ # resp.case_metadata[0].value #=> String
1101
1106
  #
1102
1107
  # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/GetCase AWS API Documentation
1103
1108
  #
@@ -1292,7 +1297,7 @@ module Aws::SecurityIR
1292
1297
  #
1293
1298
  # resp.membership_id #=> String
1294
1299
  # resp.account_id #=> String
1295
- # resp.region #=> String, one of "af-south-1", "ap-east-1", "ap-east-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-southeast-4", "ap-southeast-5", "ap-southeast-7", "ca-central-1", "ca-west-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-central-2", "eu-north-1", "eu-south-1", "eu-south-2", "eu-west-1", "eu-west-2", "eu-west-3", "il-central-1", "me-central-1", "me-south-1", "mx-central-1", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2"
1300
+ # resp.region #=> String, one of "af-south-1", "ap-east-1", "ap-east-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-southeast-4", "ap-southeast-5", "ap-southeast-6", "ap-southeast-7", "ca-central-1", "ca-west-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-central-2", "eu-north-1", "eu-south-1", "eu-south-2", "eu-west-1", "eu-west-2", "eu-west-3", "il-central-1", "me-central-1", "me-south-1", "mx-central-1", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2"
1296
1301
  # resp.membership_name #=> String
1297
1302
  # resp.membership_arn #=> String
1298
1303
  # resp.membership_status #=> String, one of "Active", "Cancelled", "Terminated"
@@ -1304,6 +1309,8 @@ module Aws::SecurityIR
1304
1309
  # resp.incident_response_team[0].name #=> String
1305
1310
  # resp.incident_response_team[0].job_title #=> String
1306
1311
  # resp.incident_response_team[0].email #=> String
1312
+ # resp.incident_response_team[0].communication_preferences #=> Array
1313
+ # resp.incident_response_team[0].communication_preferences[0] #=> String, one of "Case Created", "Case Updated", "Case Acknowledged", "Case Closed", "Case Updated To Service Managed", "Case Status Updated", "Case Pending Customer Action Reminder", "Case Attachment Url Uploaded", "Case Comment Added", "Case Comment Updated", "Membership Created", "Membership Updated", "Membership Cancelled", "Register Delegated Administrator", "Deregister Delegated Administrator", "Disable AWS Service Access"
1307
1314
  # resp.opt_in_features #=> Array
1308
1315
  # resp.opt_in_features[0].feature_name #=> String, one of "Triage"
1309
1316
  # resp.opt_in_features[0].is_enabled #=> Boolean
@@ -1533,6 +1540,84 @@ module Aws::SecurityIR
1533
1540
  req.send_request(options)
1534
1541
  end
1535
1542
 
1543
+ # Investigation performed by an agent for a security incident...
1544
+ #
1545
+ # @option params [String] :next_token
1546
+ # Investigation performed by an agent for a security incident request
1547
+ #
1548
+ # @option params [Integer] :max_results
1549
+ # Investigation performed by an agent for a security incident request,
1550
+ # returning max results
1551
+ #
1552
+ # @option params [required, String] :case_id
1553
+ # Investigation performed by an agent for a security incident per caseID
1554
+ #
1555
+ # @return [Types::ListInvestigationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1556
+ #
1557
+ # * {Types::ListInvestigationsResponse#next_token #next_token} => String
1558
+ # * {Types::ListInvestigationsResponse#investigation_actions #investigation_actions} => Array<Types::InvestigationAction>
1559
+ #
1560
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1561
+ #
1562
+ #
1563
+ # @example Example: Invoke ListInvestigations with feedback examples
1564
+ #
1565
+ # resp = client.list_investigations({
1566
+ # case_id: "8403556009",
1567
+ # max_results: 10,
1568
+ # })
1569
+ #
1570
+ # resp.to_h outputs the following:
1571
+ # {
1572
+ # investigation_actions: [
1573
+ # {
1574
+ # action_type: "Evidence",
1575
+ # content: "## Evidence Collection Results\n\nAnalyzed CloudTrail logs from 2024-01-15 to 2024-01-16 and found:\n\n- 15 failed login attempts from IP 192.168.1.100\n- Unusual API calls to S3 buckets\n- Privilege escalation attempts detected\n\n### Recommendations\n\n1. Block the suspicious IP address\n2. Review S3 bucket permissions\n3. Audit user privileges",
1576
+ # feedback: {
1577
+ # comment: "The CloudTrail analysis was very helpful in identifying the root cause of the security incident. The recommendations were actionable and led to immediate remediation.",
1578
+ # submitted_at: Time.parse("2024-01-16T11:15:00Z"),
1579
+ # usefulness: "USEFUL",
1580
+ # },
1581
+ # investigation_id: "inv-hgyuiuytrt",
1582
+ # last_updated: Time.parse("2024-01-16T10:30:00Z"),
1583
+ # status: "Completed",
1584
+ # title: "Collected CloudTrail logs for suspicious activity",
1585
+ # },
1586
+ # ],
1587
+ # next_token: "eyJsYXN0RXZhbHVhdGVkS2V5Ijp7InBhcnRpdGlvbktleSI6eyJTIjoiQ0FTRV8xMjM0NTY3ODkwIn0sInNvcnRLZXkiOnsiUyI6IjIwMjQtMDEtMTZUMTA6MzA6MDBaIn19fQ==",
1588
+ # }
1589
+ #
1590
+ # @example Request syntax with placeholder values
1591
+ #
1592
+ # resp = client.list_investigations({
1593
+ # next_token: "ListInvestigationsRequestNextTokenString",
1594
+ # max_results: 1,
1595
+ # case_id: "CaseId", # required
1596
+ # })
1597
+ #
1598
+ # @example Response structure
1599
+ #
1600
+ # resp.next_token #=> String
1601
+ # resp.investigation_actions #=> Array
1602
+ # resp.investigation_actions[0].investigation_id #=> String
1603
+ # resp.investigation_actions[0].action_type #=> String, one of "Evidence", "Investigation", "Summarization"
1604
+ # resp.investigation_actions[0].title #=> String
1605
+ # resp.investigation_actions[0].content #=> String
1606
+ # resp.investigation_actions[0].status #=> String, one of "Pending", "InProgress", "Waiting", "Completed", "Failed", "Cancelled"
1607
+ # resp.investigation_actions[0].last_updated #=> Time
1608
+ # resp.investigation_actions[0].feedback.usefulness #=> String, one of "USEFUL", "NOT_USEFUL"
1609
+ # resp.investigation_actions[0].feedback.comment #=> String
1610
+ # resp.investigation_actions[0].feedback.submitted_at #=> Time
1611
+ #
1612
+ # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/ListInvestigations AWS API Documentation
1613
+ #
1614
+ # @overload list_investigations(params = {})
1615
+ # @param [Hash] params ({})
1616
+ def list_investigations(params = {}, options = {})
1617
+ req = build_request(:list_investigations, params)
1618
+ req.send_request(options)
1619
+ end
1620
+
1536
1621
  # Returns the memberships that the calling principal can access.
1537
1622
  #
1538
1623
  # @option params [String] :next_token
@@ -1583,7 +1668,7 @@ module Aws::SecurityIR
1583
1668
  # resp.items #=> Array
1584
1669
  # resp.items[0].membership_id #=> String
1585
1670
  # resp.items[0].account_id #=> String
1586
- # resp.items[0].region #=> String, one of "af-south-1", "ap-east-1", "ap-east-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-southeast-4", "ap-southeast-5", "ap-southeast-7", "ca-central-1", "ca-west-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-central-2", "eu-north-1", "eu-south-1", "eu-south-2", "eu-west-1", "eu-west-2", "eu-west-3", "il-central-1", "me-central-1", "me-south-1", "mx-central-1", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2"
1671
+ # resp.items[0].region #=> String, one of "af-south-1", "ap-east-1", "ap-east-2", "ap-northeast-1", "ap-northeast-2", "ap-northeast-3", "ap-south-1", "ap-south-2", "ap-southeast-1", "ap-southeast-2", "ap-southeast-3", "ap-southeast-4", "ap-southeast-5", "ap-southeast-6", "ap-southeast-7", "ca-central-1", "ca-west-1", "cn-north-1", "cn-northwest-1", "eu-central-1", "eu-central-2", "eu-north-1", "eu-south-1", "eu-south-2", "eu-west-1", "eu-west-2", "eu-west-3", "il-central-1", "me-central-1", "me-south-1", "mx-central-1", "sa-east-1", "us-east-1", "us-east-2", "us-west-1", "us-west-2"
1587
1672
  # resp.items[0].membership_arn #=> String
1588
1673
  # resp.items[0].membership_status #=> String, one of "Active", "Cancelled", "Terminated"
1589
1674
  #
@@ -1641,6 +1726,67 @@ module Aws::SecurityIR
1641
1726
  req.send_request(options)
1642
1727
  end
1643
1728
 
1729
+ # Send feedback based on response investigation action
1730
+ #
1731
+ # @option params [required, String] :case_id
1732
+ # Send feedback based on request caseID
1733
+ #
1734
+ # @option params [required, String] :result_id
1735
+ # Send feedback based on request result ID
1736
+ #
1737
+ # @option params [required, String] :usefulness
1738
+ # Required enum value indicating user assessment of result q.....
1739
+ #
1740
+ # @option params [String] :comment
1741
+ # Send feedback based on request comments
1742
+ #
1743
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1744
+ #
1745
+ #
1746
+ # @example Example: Send positive feedback for investigation result
1747
+ #
1748
+ # resp = client.send_feedback({
1749
+ # case_id: "8403556009",
1750
+ # comment: "The CloudTrail analysis was very helpful in identifying the root cause of the security incident.",
1751
+ # result_id: "inv-polkjhyuty",
1752
+ # usefulness: "USEFUL",
1753
+ # })
1754
+ #
1755
+ # resp.to_h outputs the following:
1756
+ # {
1757
+ # }
1758
+ #
1759
+ # @example Example: Send negative feedback with detailed comment
1760
+ #
1761
+ # resp = client.send_feedback({
1762
+ # case_id: "8403556009",
1763
+ # comment: "The investigation results were too generic and didn't provide actionable insights for our specific incident.",
1764
+ # result_id: "inv-irutjfhgjk",
1765
+ # usefulness: "NOT_USEFUL",
1766
+ # })
1767
+ #
1768
+ # resp.to_h outputs the following:
1769
+ # {
1770
+ # }
1771
+ #
1772
+ # @example Request syntax with placeholder values
1773
+ #
1774
+ # resp = client.send_feedback({
1775
+ # case_id: "CaseId", # required
1776
+ # result_id: "ResultId", # required
1777
+ # usefulness: "USEFUL", # required, accepts USEFUL, NOT_USEFUL
1778
+ # comment: "FeedbackComment",
1779
+ # })
1780
+ #
1781
+ # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/SendFeedback AWS API Documentation
1782
+ #
1783
+ # @overload send_feedback(params = {})
1784
+ # @param [Hash] params ({})
1785
+ def send_feedback(params = {}, options = {})
1786
+ req = build_request(:send_feedback, params)
1787
+ req.send_request(options)
1788
+ end
1789
+
1644
1790
  # Adds a tag(s) to a designated resource.
1645
1791
  #
1646
1792
  # @option params [required, String] :resource_arn
@@ -1803,6 +1949,9 @@ module Aws::SecurityIR
1803
1949
  #
1804
1950
  # </note>
1805
1951
  #
1952
+ # @option params [Array<Types::CaseMetadataEntry>] :case_metadata
1953
+ # Update the case request with case metadata
1954
+ #
1806
1955
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1807
1956
  #
1808
1957
  #
@@ -1908,16 +2057,22 @@ module Aws::SecurityIR
1908
2057
  # impacted_services_to_delete: ["AwsService"],
1909
2058
  # impacted_aws_regions_to_add: [
1910
2059
  # {
1911
- # region: "af-south-1", # required, accepts af-south-1, ap-east-1, ap-east-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-4, ap-southeast-5, ap-southeast-7, ca-central-1, ca-west-1, cn-north-1, cn-northwest-1, eu-central-1, eu-central-2, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, il-central-1, me-central-1, me-south-1, mx-central-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2
2060
+ # region: "af-south-1", # required, accepts af-south-1, ap-east-1, ap-east-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-4, ap-southeast-5, ap-southeast-6, ap-southeast-7, ca-central-1, ca-west-1, cn-north-1, cn-northwest-1, eu-central-1, eu-central-2, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, il-central-1, me-central-1, me-south-1, mx-central-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2
1912
2061
  # },
1913
2062
  # ],
1914
2063
  # impacted_aws_regions_to_delete: [
1915
2064
  # {
1916
- # region: "af-south-1", # required, accepts af-south-1, ap-east-1, ap-east-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-4, ap-southeast-5, ap-southeast-7, ca-central-1, ca-west-1, cn-north-1, cn-northwest-1, eu-central-1, eu-central-2, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, il-central-1, me-central-1, me-south-1, mx-central-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2
2065
+ # region: "af-south-1", # required, accepts af-south-1, ap-east-1, ap-east-2, ap-northeast-1, ap-northeast-2, ap-northeast-3, ap-south-1, ap-south-2, ap-southeast-1, ap-southeast-2, ap-southeast-3, ap-southeast-4, ap-southeast-5, ap-southeast-6, ap-southeast-7, ca-central-1, ca-west-1, cn-north-1, cn-northwest-1, eu-central-1, eu-central-2, eu-north-1, eu-south-1, eu-south-2, eu-west-1, eu-west-2, eu-west-3, il-central-1, me-central-1, me-south-1, mx-central-1, sa-east-1, us-east-1, us-east-2, us-west-1, us-west-2
1917
2066
  # },
1918
2067
  # ],
1919
2068
  # impacted_accounts_to_add: ["AWSAccountId"],
1920
2069
  # impacted_accounts_to_delete: ["AWSAccountId"],
2070
+ # case_metadata: [
2071
+ # {
2072
+ # key: "CaseMetadataEntryKeyString", # required
2073
+ # value: "CaseMetadataEntryValueString", # required
2074
+ # },
2075
+ # ],
1921
2076
  # })
1922
2077
  #
1923
2078
  # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/UpdateCase AWS API Documentation
@@ -2134,6 +2289,7 @@ module Aws::SecurityIR
2134
2289
  # name: "IncidentResponderName", # required
2135
2290
  # job_title: "JobTitle", # required
2136
2291
  # email: "EmailAddress", # required
2292
+ # communication_preferences: ["Case Created"], # accepts Case Created, Case Updated, Case Acknowledged, Case Closed, Case Updated To Service Managed, Case Status Updated, Case Pending Customer Action Reminder, Case Attachment Url Uploaded, Case Comment Added, Case Comment Updated, Membership Created, Membership Updated, Membership Cancelled, Register Delegated Administrator, Deregister Delegated Administrator, Disable AWS Service Access
2137
2293
  # },
2138
2294
  # ],
2139
2295
  # opt_in_features: [
@@ -2231,7 +2387,7 @@ module Aws::SecurityIR
2231
2387
  tracer: tracer
2232
2388
  )
2233
2389
  context[:gem_name] = 'aws-sdk-securityir'
2234
- context[:gem_version] = '1.15.0'
2390
+ context[:gem_version] = '1.17.0'
2235
2391
  Seahorse::Client::Request.new(handlers, context)
2236
2392
  end
2237
2393
 
@@ -17,6 +17,7 @@ module Aws::SecurityIR
17
17
  AWSAccountId = Shapes::StringShape.new(name: 'AWSAccountId')
18
18
  AWSAccountIds = Shapes::ListShape.new(name: 'AWSAccountIds')
19
19
  AccessDeniedException = Shapes::StructureShape.new(name: 'AccessDeniedException')
20
+ ActionType = Shapes::StringShape.new(name: 'ActionType')
20
21
  Arn = Shapes::StringShape.new(name: 'Arn')
21
22
  AttachmentId = Shapes::StringShape.new(name: 'AttachmentId')
22
23
  AwsRegion = Shapes::StringShape.new(name: 'AwsRegion')
@@ -36,6 +37,10 @@ module Aws::SecurityIR
36
37
  CaseEditItems = Shapes::ListShape.new(name: 'CaseEditItems')
37
38
  CaseEditMessage = Shapes::StringShape.new(name: 'CaseEditMessage')
38
39
  CaseId = Shapes::StringShape.new(name: 'CaseId')
40
+ CaseMetadata = Shapes::ListShape.new(name: 'CaseMetadata')
41
+ CaseMetadataEntry = Shapes::StructureShape.new(name: 'CaseMetadataEntry')
42
+ CaseMetadataEntryKeyString = Shapes::StringShape.new(name: 'CaseMetadataEntryKeyString')
43
+ CaseMetadataEntryValueString = Shapes::StringShape.new(name: 'CaseMetadataEntryValueString')
39
44
  CaseStatus = Shapes::StringShape.new(name: 'CaseStatus')
40
45
  CaseTitle = Shapes::StringShape.new(name: 'CaseTitle')
41
46
  CloseCaseRequest = Shapes::StructureShape.new(name: 'CloseCaseRequest')
@@ -43,6 +48,8 @@ module Aws::SecurityIR
43
48
  ClosureCode = Shapes::StringShape.new(name: 'ClosureCode')
44
49
  CommentBody = Shapes::StringShape.new(name: 'CommentBody')
45
50
  CommentId = Shapes::StringShape.new(name: 'CommentId')
51
+ CommunicationPreferences = Shapes::ListShape.new(name: 'CommunicationPreferences')
52
+ CommunicationType = Shapes::StringShape.new(name: 'CommunicationType')
46
53
  ConflictException = Shapes::StructureShape.new(name: 'ConflictException')
47
54
  ContentLength = Shapes::IntegerShape.new(name: 'ContentLength')
48
55
  CreateCaseCommentRequest = Shapes::StructureShape.new(name: 'CreateCaseCommentRequest')
@@ -57,6 +64,8 @@ module Aws::SecurityIR
57
64
  CustomerType = Shapes::StringShape.new(name: 'CustomerType')
58
65
  EmailAddress = Shapes::StringShape.new(name: 'EmailAddress')
59
66
  EngagementType = Shapes::StringShape.new(name: 'EngagementType')
67
+ ExecutionStatus = Shapes::StringShape.new(name: 'ExecutionStatus')
68
+ FeedbackComment = Shapes::StringShape.new(name: 'FeedbackComment')
60
69
  FileName = Shapes::StringShape.new(name: 'FileName')
61
70
  GetCaseAttachmentDownloadUrlRequest = Shapes::StructureShape.new(name: 'GetCaseAttachmentDownloadUrlRequest')
62
71
  GetCaseAttachmentDownloadUrlResponse = Shapes::StructureShape.new(name: 'GetCaseAttachmentDownloadUrlResponse')
@@ -82,6 +91,12 @@ module Aws::SecurityIR
82
91
  Integer = Shapes::IntegerShape.new(name: 'Integer')
83
92
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
84
93
  InvalidTokenException = Shapes::StructureShape.new(name: 'InvalidTokenException')
94
+ InvestigationAction = Shapes::StructureShape.new(name: 'InvestigationAction')
95
+ InvestigationActionList = Shapes::ListShape.new(name: 'InvestigationActionList')
96
+ InvestigationContent = Shapes::StringShape.new(name: 'InvestigationContent')
97
+ InvestigationFeedback = Shapes::StructureShape.new(name: 'InvestigationFeedback')
98
+ InvestigationId = Shapes::StringShape.new(name: 'InvestigationId')
99
+ InvestigationTitle = Shapes::StringShape.new(name: 'InvestigationTitle')
85
100
  JobTitle = Shapes::StringShape.new(name: 'JobTitle')
86
101
  ListCaseEditsRequest = Shapes::StructureShape.new(name: 'ListCaseEditsRequest')
87
102
  ListCaseEditsRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListCaseEditsRequestMaxResultsInteger')
@@ -99,6 +114,10 @@ module Aws::SecurityIR
99
114
  ListCommentsRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListCommentsRequestMaxResultsInteger')
100
115
  ListCommentsRequestNextTokenString = Shapes::StringShape.new(name: 'ListCommentsRequestNextTokenString')
101
116
  ListCommentsResponse = Shapes::StructureShape.new(name: 'ListCommentsResponse')
117
+ ListInvestigationsRequest = Shapes::StructureShape.new(name: 'ListInvestigationsRequest')
118
+ ListInvestigationsRequestMaxResultsInteger = Shapes::IntegerShape.new(name: 'ListInvestigationsRequestMaxResultsInteger')
119
+ ListInvestigationsRequestNextTokenString = Shapes::StringShape.new(name: 'ListInvestigationsRequestNextTokenString')
120
+ ListInvestigationsResponse = Shapes::StructureShape.new(name: 'ListInvestigationsResponse')
102
121
  ListMembershipItem = Shapes::StructureShape.new(name: 'ListMembershipItem')
103
122
  ListMembershipItems = Shapes::ListShape.new(name: 'ListMembershipItems')
104
123
  ListMembershipsRequest = Shapes::StructureShape.new(name: 'ListMembershipsRequest')
@@ -128,8 +147,11 @@ module Aws::SecurityIR
128
147
  PrincipalId = Shapes::StringShape.new(name: 'PrincipalId')
129
148
  ResolverType = Shapes::StringShape.new(name: 'ResolverType')
130
149
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
150
+ ResultId = Shapes::StringShape.new(name: 'ResultId')
131
151
  SecurityIncidentResponseNotActiveException = Shapes::StructureShape.new(name: 'SecurityIncidentResponseNotActiveException')
132
152
  SelfManagedCaseStatus = Shapes::StringShape.new(name: 'SelfManagedCaseStatus')
153
+ SendFeedbackRequest = Shapes::StructureShape.new(name: 'SendFeedbackRequest')
154
+ SendFeedbackResponse = Shapes::StructureShape.new(name: 'SendFeedbackResponse')
133
155
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
134
156
  String = Shapes::StringShape.new(name: 'String')
135
157
  TagKey = Shapes::StringShape.new(name: 'TagKey')
@@ -155,6 +177,7 @@ module Aws::SecurityIR
155
177
  UpdateResolverTypeRequest = Shapes::StructureShape.new(name: 'UpdateResolverTypeRequest')
156
178
  UpdateResolverTypeResponse = Shapes::StructureShape.new(name: 'UpdateResolverTypeResponse')
157
179
  Url = Shapes::StringShape.new(name: 'Url')
180
+ UsefulnessRating = Shapes::StringShape.new(name: 'UsefulnessRating')
158
181
  UserAgent = Shapes::StringShape.new(name: 'UserAgent')
159
182
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
160
183
  ValidationExceptionField = Shapes::StructureShape.new(name: 'ValidationExceptionField')
@@ -199,6 +222,12 @@ module Aws::SecurityIR
199
222
 
200
223
  CaseEditItems.member = Shapes::ShapeRef.new(shape: CaseEditItem)
201
224
 
225
+ CaseMetadata.member = Shapes::ShapeRef.new(shape: CaseMetadataEntry)
226
+
227
+ CaseMetadataEntry.add_member(:key, Shapes::ShapeRef.new(shape: CaseMetadataEntryKeyString, required: true, location_name: "key"))
228
+ CaseMetadataEntry.add_member(:value, Shapes::ShapeRef.new(shape: CaseMetadataEntryValueString, required: true, location_name: "value"))
229
+ CaseMetadataEntry.struct_class = Types::CaseMetadataEntry
230
+
202
231
  CloseCaseRequest.add_member(:case_id, Shapes::ShapeRef.new(shape: CaseId, required: true, location: "uri", location_name: "caseId"))
203
232
  CloseCaseRequest.struct_class = Types::CloseCaseRequest
204
233
 
@@ -206,6 +235,8 @@ module Aws::SecurityIR
206
235
  CloseCaseResponse.add_member(:closed_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "closedDate"))
207
236
  CloseCaseResponse.struct_class = Types::CloseCaseResponse
208
237
 
238
+ CommunicationPreferences.member = Shapes::ShapeRef.new(shape: CommunicationType)
239
+
209
240
  ConflictException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
210
241
  ConflictException.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceId"))
211
242
  ConflictException.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceType"))
@@ -285,6 +316,7 @@ module Aws::SecurityIR
285
316
  GetCaseResponse.add_member(:impacted_services, Shapes::ShapeRef.new(shape: ImpactedServicesList, location_name: "impactedServices"))
286
317
  GetCaseResponse.add_member(:case_attachments, Shapes::ShapeRef.new(shape: CaseAttachmentsList, location_name: "caseAttachments"))
287
318
  GetCaseResponse.add_member(:closed_date, Shapes::ShapeRef.new(shape: Timestamp, location_name: "closedDate"))
319
+ GetCaseResponse.add_member(:case_metadata, Shapes::ShapeRef.new(shape: CaseMetadata, location_name: "caseMetadata"))
288
320
  GetCaseResponse.struct_class = Types::GetCaseResponse
289
321
 
290
322
  GetMembershipAccountDetailError.add_member(:account_id, Shapes::ShapeRef.new(shape: AWSAccountId, required: true, location_name: "accountId"))
@@ -331,6 +363,7 @@ module Aws::SecurityIR
331
363
  IncidentResponder.add_member(:name, Shapes::ShapeRef.new(shape: IncidentResponderName, required: true, location_name: "name"))
332
364
  IncidentResponder.add_member(:job_title, Shapes::ShapeRef.new(shape: JobTitle, required: true, location_name: "jobTitle"))
333
365
  IncidentResponder.add_member(:email, Shapes::ShapeRef.new(shape: EmailAddress, required: true, location_name: "email"))
366
+ IncidentResponder.add_member(:communication_preferences, Shapes::ShapeRef.new(shape: CommunicationPreferences, location_name: "communicationPreferences"))
334
367
  IncidentResponder.struct_class = Types::IncidentResponder
335
368
 
336
369
  IncidentResponseTeam.member = Shapes::ShapeRef.new(shape: IncidentResponder)
@@ -342,6 +375,22 @@ module Aws::SecurityIR
342
375
  InvalidTokenException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
343
376
  InvalidTokenException.struct_class = Types::InvalidTokenException
344
377
 
378
+ InvestigationAction.add_member(:investigation_id, Shapes::ShapeRef.new(shape: InvestigationId, required: true, location_name: "investigationId"))
379
+ InvestigationAction.add_member(:action_type, Shapes::ShapeRef.new(shape: ActionType, required: true, location_name: "actionType"))
380
+ InvestigationAction.add_member(:title, Shapes::ShapeRef.new(shape: InvestigationTitle, required: true, location_name: "title"))
381
+ InvestigationAction.add_member(:content, Shapes::ShapeRef.new(shape: InvestigationContent, required: true, location_name: "content"))
382
+ InvestigationAction.add_member(:status, Shapes::ShapeRef.new(shape: ExecutionStatus, required: true, location_name: "status"))
383
+ InvestigationAction.add_member(:last_updated, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "lastUpdated"))
384
+ InvestigationAction.add_member(:feedback, Shapes::ShapeRef.new(shape: InvestigationFeedback, location_name: "feedback"))
385
+ InvestigationAction.struct_class = Types::InvestigationAction
386
+
387
+ InvestigationActionList.member = Shapes::ShapeRef.new(shape: InvestigationAction)
388
+
389
+ InvestigationFeedback.add_member(:usefulness, Shapes::ShapeRef.new(shape: UsefulnessRating, location_name: "usefulness"))
390
+ InvestigationFeedback.add_member(:comment, Shapes::ShapeRef.new(shape: FeedbackComment, location_name: "comment"))
391
+ InvestigationFeedback.add_member(:submitted_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "submittedAt"))
392
+ InvestigationFeedback.struct_class = Types::InvestigationFeedback
393
+
345
394
  ListCaseEditsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: ListCaseEditsRequestNextTokenString, location_name: "nextToken"))
346
395
  ListCaseEditsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListCaseEditsRequestMaxResultsInteger, location_name: "maxResults"))
347
396
  ListCaseEditsRequest.add_member(:case_id, Shapes::ShapeRef.new(shape: CaseId, required: true, location: "uri", location_name: "caseId"))
@@ -395,6 +444,15 @@ module Aws::SecurityIR
395
444
  ListCommentsResponse.add_member(:total, Shapes::ShapeRef.new(shape: Integer, location_name: "total"))
396
445
  ListCommentsResponse.struct_class = Types::ListCommentsResponse
397
446
 
447
+ ListInvestigationsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: ListInvestigationsRequestNextTokenString, location: "querystring", location_name: "nextToken"))
448
+ ListInvestigationsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ListInvestigationsRequestMaxResultsInteger, location: "querystring", location_name: "maxResults"))
449
+ ListInvestigationsRequest.add_member(:case_id, Shapes::ShapeRef.new(shape: CaseId, required: true, location: "uri", location_name: "caseId"))
450
+ ListInvestigationsRequest.struct_class = Types::ListInvestigationsRequest
451
+
452
+ ListInvestigationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "nextToken"))
453
+ ListInvestigationsResponse.add_member(:investigation_actions, Shapes::ShapeRef.new(shape: InvestigationActionList, required: true, location_name: "investigationActions"))
454
+ ListInvestigationsResponse.struct_class = Types::ListInvestigationsResponse
455
+
398
456
  ListMembershipItem.add_member(:membership_id, Shapes::ShapeRef.new(shape: MembershipId, required: true, location_name: "membershipId"))
399
457
  ListMembershipItem.add_member(:account_id, Shapes::ShapeRef.new(shape: AWSAccountId, location_name: "accountId"))
400
458
  ListMembershipItem.add_member(:region, Shapes::ShapeRef.new(shape: AwsRegion, location_name: "region"))
@@ -445,6 +503,14 @@ module Aws::SecurityIR
445
503
  SecurityIncidentResponseNotActiveException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
446
504
  SecurityIncidentResponseNotActiveException.struct_class = Types::SecurityIncidentResponseNotActiveException
447
505
 
506
+ SendFeedbackRequest.add_member(:case_id, Shapes::ShapeRef.new(shape: CaseId, required: true, location: "uri", location_name: "caseId"))
507
+ SendFeedbackRequest.add_member(:result_id, Shapes::ShapeRef.new(shape: ResultId, required: true, location: "uri", location_name: "resultId"))
508
+ SendFeedbackRequest.add_member(:usefulness, Shapes::ShapeRef.new(shape: UsefulnessRating, required: true, location_name: "usefulness"))
509
+ SendFeedbackRequest.add_member(:comment, Shapes::ShapeRef.new(shape: FeedbackComment, location_name: "comment"))
510
+ SendFeedbackRequest.struct_class = Types::SendFeedbackRequest
511
+
512
+ SendFeedbackResponse.struct_class = Types::SendFeedbackResponse
513
+
448
514
  ServiceQuotaExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
449
515
  ServiceQuotaExceededException.add_member(:resource_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceId"))
450
516
  ServiceQuotaExceededException.add_member(:resource_type, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceType"))
@@ -506,6 +572,7 @@ module Aws::SecurityIR
506
572
  UpdateCaseRequest.add_member(:impacted_aws_regions_to_delete, Shapes::ShapeRef.new(shape: ImpactedAwsRegionList, location_name: "impactedAwsRegionsToDelete"))
507
573
  UpdateCaseRequest.add_member(:impacted_accounts_to_add, Shapes::ShapeRef.new(shape: ImpactedAccounts, location_name: "impactedAccountsToAdd"))
508
574
  UpdateCaseRequest.add_member(:impacted_accounts_to_delete, Shapes::ShapeRef.new(shape: ImpactedAccounts, location_name: "impactedAccountsToDelete"))
575
+ UpdateCaseRequest.add_member(:case_metadata, Shapes::ShapeRef.new(shape: CaseMetadata, location_name: "caseMetadata"))
509
576
  UpdateCaseRequest.struct_class = Types::UpdateCaseRequest
510
577
 
511
578
  UpdateCaseResponse.struct_class = Types::UpdateCaseResponse
@@ -812,6 +879,29 @@ module Aws::SecurityIR
812
879
  )
813
880
  end)
814
881
 
882
+ api.add_operation(:list_investigations, Seahorse::Model::Operation.new.tap do |o|
883
+ o.name = "ListInvestigations"
884
+ o.http_method = "GET"
885
+ o.http_request_uri = "/v1/cases/{caseId}/list-investigations"
886
+ o.input = Shapes::ShapeRef.new(shape: ListInvestigationsRequest)
887
+ o.output = Shapes::ShapeRef.new(shape: ListInvestigationsResponse)
888
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
889
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
890
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
891
+ o.errors << Shapes::ShapeRef.new(shape: SecurityIncidentResponseNotActiveException)
892
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
893
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
894
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
895
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
896
+ o.errors << Shapes::ShapeRef.new(shape: InvalidTokenException)
897
+ o[:pager] = Aws::Pager.new(
898
+ limit_key: "max_results",
899
+ tokens: {
900
+ "next_token" => "next_token"
901
+ }
902
+ )
903
+ end)
904
+
815
905
  api.add_operation(:list_memberships, Seahorse::Model::Operation.new.tap do |o|
816
906
  o.name = "ListMemberships"
817
907
  o.http_method = "POST"
@@ -852,6 +942,23 @@ module Aws::SecurityIR
852
942
  o.errors << Shapes::ShapeRef.new(shape: InvalidTokenException)
853
943
  end)
854
944
 
945
+ api.add_operation(:send_feedback, Seahorse::Model::Operation.new.tap do |o|
946
+ o.name = "SendFeedback"
947
+ o.http_method = "POST"
948
+ o.http_request_uri = "/v1/cases/{caseId}/feedback/{resultId}/send-feedback"
949
+ o.input = Shapes::ShapeRef.new(shape: SendFeedbackRequest)
950
+ o.output = Shapes::ShapeRef.new(shape: SendFeedbackResponse)
951
+ o.errors << Shapes::ShapeRef.new(shape: ServiceQuotaExceededException)
952
+ o.errors << Shapes::ShapeRef.new(shape: AccessDeniedException)
953
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
954
+ o.errors << Shapes::ShapeRef.new(shape: SecurityIncidentResponseNotActiveException)
955
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
956
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
957
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
958
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
959
+ o.errors << Shapes::ShapeRef.new(shape: InvalidTokenException)
960
+ end)
961
+
855
962
  api.add_operation(:tag_resource, Seahorse::Model::Operation.new.tap do |o|
856
963
  o.name = "TagResource"
857
964
  o.http_method = "POST"
@@ -143,6 +143,31 @@ module Aws::SecurityIR
143
143
  include Aws::Structure
144
144
  end
145
145
 
146
+ # Represents a single metadata entry associated with a case. Each entry
147
+ # consists of a key-value pair that provides additional contextual
148
+ # information about the case, such as classification tags, custom
149
+ # attributes, or system-generated properties.
150
+ #
151
+ # @!attribute [rw] key
152
+ # The identifier for the metadata field. This key uniquely identifies
153
+ # the type of metadata being stored, such as "severity",
154
+ # "category", or "assignee".
155
+ # @return [String]
156
+ #
157
+ # @!attribute [rw] value
158
+ # The value associated with the metadata key. This contains the actual
159
+ # data for the metadata field identified by the key.
160
+ # @return [String]
161
+ #
162
+ # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/CaseMetadataEntry AWS API Documentation
163
+ #
164
+ class CaseMetadataEntry < Struct.new(
165
+ :key,
166
+ :value)
167
+ SENSITIVE = []
168
+ include Aws::Structure
169
+ end
170
+
146
171
  # @!attribute [rw] case_id
147
172
  # Required element used in combination with CloseCase to identify the
148
173
  # case ID to close.
@@ -622,6 +647,10 @@ module Aws::SecurityIR
622
647
  # was closed.
623
648
  # @return [Time]
624
649
  #
650
+ # @!attribute [rw] case_metadata
651
+ # Case response metadata
652
+ # @return [Array<Types::CaseMetadataEntry>]
653
+ #
625
654
  # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/GetCaseResponse AWS API Documentation
626
655
  #
627
656
  class GetCaseResponse < Struct.new(
@@ -643,7 +672,8 @@ module Aws::SecurityIR
643
672
  :resolver_type,
644
673
  :impacted_services,
645
674
  :case_attachments,
646
- :closed_date)
675
+ :closed_date,
676
+ :case_metadata)
647
677
  SENSITIVE = [:title, :description]
648
678
  include Aws::Structure
649
679
  end
@@ -812,12 +842,16 @@ module Aws::SecurityIR
812
842
  # @!attribute [rw] email
813
843
  # @return [String]
814
844
  #
845
+ # @!attribute [rw] communication_preferences
846
+ # @return [Array<String>]
847
+ #
815
848
  # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/IncidentResponder AWS API Documentation
816
849
  #
817
850
  class IncidentResponder < Struct.new(
818
851
  :name,
819
852
  :job_title,
820
- :email)
853
+ :email,
854
+ :communication_preferences)
821
855
  SENSITIVE = [:name, :job_title, :email]
822
856
  include Aws::Structure
823
857
  end
@@ -851,6 +885,97 @@ module Aws::SecurityIR
851
885
  include Aws::Structure
852
886
  end
853
887
 
888
+ # Represents an investigation action performed within a case. This
889
+ # structure captures the details of an automated or manual
890
+ # investigation, including its status, results, and user feedback.
891
+ #
892
+ # @!attribute [rw] investigation_id
893
+ # The unique identifier for this investigation action. This ID is used
894
+ # to track and reference the specific investigation throughout its
895
+ # lifecycle.
896
+ # @return [String]
897
+ #
898
+ # @!attribute [rw] action_type
899
+ # The type of investigation action being performed. This categorizes
900
+ # the investigation method or approach used in the case.
901
+ # @return [String]
902
+ #
903
+ # @!attribute [rw] title
904
+ # Human-readable summary of the investigation focus. This provides a
905
+ # brief description of what the investigation is examining or
906
+ # analyzing.
907
+ # @return [String]
908
+ #
909
+ # @!attribute [rw] content
910
+ # Detailed investigation results in rich markdown format. This field
911
+ # contains the comprehensive findings, analysis, and conclusions from
912
+ # the investigation.
913
+ # @return [String]
914
+ #
915
+ # @!attribute [rw] status
916
+ # The current execution status of the investigation. This indicates
917
+ # whether the investigation is pending, in progress, completed, or
918
+ # failed.
919
+ # @return [String]
920
+ #
921
+ # @!attribute [rw] last_updated
922
+ # ISO 8601 timestamp of the most recent status update. This indicates
923
+ # when the investigation was last modified or when its status last
924
+ # changed.
925
+ # @return [Time]
926
+ #
927
+ # @!attribute [rw] feedback
928
+ # User feedback for this investigation result. This contains the
929
+ # user's assessment and comments about the quality and usefulness of
930
+ # the investigation findings.
931
+ # @return [Types::InvestigationFeedback]
932
+ #
933
+ # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/InvestigationAction AWS API Documentation
934
+ #
935
+ class InvestigationAction < Struct.new(
936
+ :investigation_id,
937
+ :action_type,
938
+ :title,
939
+ :content,
940
+ :status,
941
+ :last_updated,
942
+ :feedback)
943
+ SENSITIVE = []
944
+ include Aws::Structure
945
+ end
946
+
947
+ # Represents user feedback for an investigation result. This structure
948
+ # captures the user's evaluation of the investigation's quality,
949
+ # usefulness, and any additional comments.
950
+ #
951
+ # @!attribute [rw] usefulness
952
+ # User assessment of the investigation result's quality and
953
+ # helpfulness. This rating indicates how valuable the investigation
954
+ # findings were in addressing the case.
955
+ # @return [String]
956
+ #
957
+ # @!attribute [rw] comment
958
+ # Optional user comments providing additional context about the
959
+ # investigation feedback. This allows users to explain their rating or
960
+ # provide suggestions for improvement.
961
+ # @return [String]
962
+ #
963
+ # @!attribute [rw] submitted_at
964
+ # ISO 8601 timestamp when the feedback was submitted. This records
965
+ # when the user provided their assessment of the investigation
966
+ # results.
967
+ # @return [Time]
968
+ #
969
+ # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/InvestigationFeedback AWS API Documentation
970
+ #
971
+ class InvestigationFeedback < Struct.new(
972
+ :usefulness,
973
+ :comment,
974
+ :submitted_at)
975
+ SENSITIVE = []
976
+ include Aws::Structure
977
+ end
978
+
854
979
  # @!attribute [rw] next_token
855
980
  # An optional string that, if supplied, must be copied from the output
856
981
  # of a previous call to ListCaseEdits. When provided in this manner,
@@ -1076,6 +1201,49 @@ module Aws::SecurityIR
1076
1201
  include Aws::Structure
1077
1202
  end
1078
1203
 
1204
+ # @!attribute [rw] next_token
1205
+ # Investigation performed by an agent for a security incident request
1206
+ # @return [String]
1207
+ #
1208
+ # @!attribute [rw] max_results
1209
+ # Investigation performed by an agent for a security incident request,
1210
+ # returning max results
1211
+ # @return [Integer]
1212
+ #
1213
+ # @!attribute [rw] case_id
1214
+ # Investigation performed by an agent for a security incident per
1215
+ # caseID
1216
+ # @return [String]
1217
+ #
1218
+ # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/ListInvestigationsRequest AWS API Documentation
1219
+ #
1220
+ class ListInvestigationsRequest < Struct.new(
1221
+ :next_token,
1222
+ :max_results,
1223
+ :case_id)
1224
+ SENSITIVE = []
1225
+ include Aws::Structure
1226
+ end
1227
+
1228
+ # @!attribute [rw] next_token
1229
+ # Investigation performed by an agent for a security incident for next
1230
+ # Token
1231
+ # @return [String]
1232
+ #
1233
+ # @!attribute [rw] investigation_actions
1234
+ # Investigation performed by an agent for a security incid…Unique
1235
+ # identifier for the specific investigation&gt;
1236
+ # @return [Array<Types::InvestigationAction>]
1237
+ #
1238
+ # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/ListInvestigationsResponse AWS API Documentation
1239
+ #
1240
+ class ListInvestigationsResponse < Struct.new(
1241
+ :next_token,
1242
+ :investigation_actions)
1243
+ SENSITIVE = []
1244
+ include Aws::Structure
1245
+ end
1246
+
1079
1247
  # @!attribute [rw] membership_id
1080
1248
  # @return [String]
1081
1249
  #
@@ -1316,6 +1484,37 @@ module Aws::SecurityIR
1316
1484
  include Aws::Structure
1317
1485
  end
1318
1486
 
1487
+ # @!attribute [rw] case_id
1488
+ # Send feedback based on request caseID
1489
+ # @return [String]
1490
+ #
1491
+ # @!attribute [rw] result_id
1492
+ # Send feedback based on request result ID
1493
+ # @return [String]
1494
+ #
1495
+ # @!attribute [rw] usefulness
1496
+ # Required enum value indicating user assessment of result q.....
1497
+ # @return [String]
1498
+ #
1499
+ # @!attribute [rw] comment
1500
+ # Send feedback based on request comments
1501
+ # @return [String]
1502
+ #
1503
+ # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/SendFeedbackRequest AWS API Documentation
1504
+ #
1505
+ class SendFeedbackRequest < Struct.new(
1506
+ :case_id,
1507
+ :result_id,
1508
+ :usefulness,
1509
+ :comment)
1510
+ SENSITIVE = []
1511
+ include Aws::Structure
1512
+ end
1513
+
1514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/SendFeedbackResponse AWS API Documentation
1515
+ #
1516
+ class SendFeedbackResponse < Aws::EmptyStructure; end
1517
+
1319
1518
  # @!attribute [rw] message
1320
1519
  # The exception message.
1321
1520
  # @return [String]
@@ -1575,6 +1774,10 @@ module Aws::SecurityIR
1575
1774
  # </note>
1576
1775
  # @return [Array<String>]
1577
1776
  #
1777
+ # @!attribute [rw] case_metadata
1778
+ # Update the case request with case metadata
1779
+ # @return [Array<Types::CaseMetadataEntry>]
1780
+ #
1578
1781
  # @see http://docs.aws.amazon.com/goto/WebAPI/security-ir-2018-05-10/UpdateCaseRequest AWS API Documentation
1579
1782
  #
1580
1783
  class UpdateCaseRequest < Struct.new(
@@ -1593,7 +1796,8 @@ module Aws::SecurityIR
1593
1796
  :impacted_aws_regions_to_add,
1594
1797
  :impacted_aws_regions_to_delete,
1595
1798
  :impacted_accounts_to_add,
1596
- :impacted_accounts_to_delete)
1799
+ :impacted_accounts_to_delete,
1800
+ :case_metadata)
1597
1801
  SENSITIVE = [:title, :description]
1598
1802
  include Aws::Structure
1599
1803
  end
@@ -55,7 +55,7 @@ module Aws::SecurityIR
55
55
  autoload :EndpointProvider, 'aws-sdk-securityir/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-securityir/endpoints'
57
57
 
58
- GEM_VERSION = '1.15.0'
58
+ GEM_VERSION = '1.17.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -140,7 +140,7 @@ module Aws
140
140
  ?impacted_services: Array[::String],
141
141
  ?impacted_aws_regions: Array[
142
142
  {
143
- region: ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
143
+ region: ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-6" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
144
144
  },
145
145
  ],
146
146
  ?tags: Hash[::String, ::String]
@@ -171,7 +171,8 @@ module Aws
171
171
  {
172
172
  name: ::String,
173
173
  job_title: ::String,
174
- email: ::String
174
+ email: ::String,
175
+ communication_preferences: Array[("Case Created" | "Case Updated" | "Case Acknowledged" | "Case Closed" | "Case Updated To Service Managed" | "Case Status Updated" | "Case Pending Customer Action Reminder" | "Case Attachment Url Uploaded" | "Case Comment Added" | "Case Comment Updated" | "Membership Created" | "Membership Updated" | "Membership Cancelled" | "Register Delegated Administrator" | "Deregister Delegated Administrator" | "Disable AWS Service Access")]?
175
176
  },
176
177
  ],
177
178
  ?opt_in_features: Array[
@@ -206,6 +207,7 @@ module Aws
206
207
  def impacted_services: () -> ::Array[::String]
207
208
  def case_attachments: () -> ::Array[Types::CaseAttachmentAttributes]
208
209
  def closed_date: () -> ::Time
210
+ def case_metadata: () -> ::Array[Types::CaseMetadataEntry]
209
211
  end
210
212
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SecurityIR/Client.html#get_case-instance_method
211
213
  def get_case: (
@@ -241,7 +243,7 @@ module Aws
241
243
  include ::Seahorse::Client::_ResponseSuccess[Types::GetMembershipResponse]
242
244
  def membership_id: () -> ::String
243
245
  def account_id: () -> ::String
244
- def region: () -> ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
246
+ def region: () -> ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-6" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
245
247
  def membership_name: () -> ::String
246
248
  def membership_arn: () -> ::String
247
249
  def membership_status: () -> ("Active" | "Cancelled" | "Terminated")
@@ -300,6 +302,19 @@ module Aws
300
302
  ) -> _ListCommentsResponseSuccess
301
303
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListCommentsResponseSuccess
302
304
 
305
+ interface _ListInvestigationsResponseSuccess
306
+ include ::Seahorse::Client::_ResponseSuccess[Types::ListInvestigationsResponse]
307
+ def next_token: () -> ::String
308
+ def investigation_actions: () -> ::Array[Types::InvestigationAction]
309
+ end
310
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SecurityIR/Client.html#list_investigations-instance_method
311
+ def list_investigations: (
312
+ ?next_token: ::String,
313
+ ?max_results: ::Integer,
314
+ case_id: ::String
315
+ ) -> _ListInvestigationsResponseSuccess
316
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListInvestigationsResponseSuccess
317
+
303
318
  interface _ListMembershipsResponseSuccess
304
319
  include ::Seahorse::Client::_ResponseSuccess[Types::ListMembershipsResponse]
305
320
  def next_token: () -> ::String
@@ -322,6 +337,18 @@ module Aws
322
337
  ) -> _ListTagsForResourceResponseSuccess
323
338
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _ListTagsForResourceResponseSuccess
324
339
 
340
+ interface _SendFeedbackResponseSuccess
341
+ include ::Seahorse::Client::_ResponseSuccess[Types::SendFeedbackResponse]
342
+ end
343
+ # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SecurityIR/Client.html#send_feedback-instance_method
344
+ def send_feedback: (
345
+ case_id: ::String,
346
+ result_id: ::String,
347
+ usefulness: ("USEFUL" | "NOT_USEFUL"),
348
+ ?comment: ::String
349
+ ) -> _SendFeedbackResponseSuccess
350
+ | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _SendFeedbackResponseSuccess
351
+
325
352
  interface _TagResourceResponseSuccess
326
353
  include ::Seahorse::Client::_ResponseSuccess[Types::TagResourceOutput]
327
354
  end
@@ -383,16 +410,22 @@ module Aws
383
410
  ?impacted_services_to_delete: Array[::String],
384
411
  ?impacted_aws_regions_to_add: Array[
385
412
  {
386
- region: ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
413
+ region: ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-6" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
387
414
  },
388
415
  ],
389
416
  ?impacted_aws_regions_to_delete: Array[
390
417
  {
391
- region: ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
418
+ region: ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-6" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
392
419
  },
393
420
  ],
394
421
  ?impacted_accounts_to_add: Array[::String],
395
- ?impacted_accounts_to_delete: Array[::String]
422
+ ?impacted_accounts_to_delete: Array[::String],
423
+ ?case_metadata: Array[
424
+ {
425
+ key: ::String,
426
+ value: ::String
427
+ },
428
+ ]
396
429
  ) -> _UpdateCaseResponseSuccess
397
430
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateCaseResponseSuccess
398
431
 
@@ -431,7 +464,8 @@ module Aws
431
464
  {
432
465
  name: ::String,
433
466
  job_title: ::String,
434
- email: ::String
467
+ email: ::String,
468
+ communication_preferences: Array[("Case Created" | "Case Updated" | "Case Acknowledged" | "Case Closed" | "Case Updated To Service Managed" | "Case Status Updated" | "Case Pending Customer Action Reminder" | "Case Attachment Url Uploaded" | "Case Comment Added" | "Case Comment Updated" | "Membership Created" | "Membership Updated" | "Membership Cancelled" | "Register Delegated Administrator" | "Deregister Delegated Administrator" | "Disable AWS Service Access")]?
435
469
  },
436
470
  ],
437
471
  ?opt_in_features: Array[
data/sig/types.rbs CHANGED
@@ -52,6 +52,12 @@ module Aws::SecurityIR
52
52
  SENSITIVE: []
53
53
  end
54
54
 
55
+ class CaseMetadataEntry
56
+ attr_accessor key: ::String
57
+ attr_accessor value: ::String
58
+ SENSITIVE: []
59
+ end
60
+
55
61
  class CloseCaseRequest
56
62
  attr_accessor case_id: ::String
57
63
  SENSITIVE: []
@@ -167,6 +173,7 @@ module Aws::SecurityIR
167
173
  attr_accessor impacted_services: ::Array[::String]
168
174
  attr_accessor case_attachments: ::Array[Types::CaseAttachmentAttributes]
169
175
  attr_accessor closed_date: ::Time
176
+ attr_accessor case_metadata: ::Array[Types::CaseMetadataEntry]
170
177
  SENSITIVE: [:title, :description]
171
178
  end
172
179
 
@@ -192,7 +199,7 @@ module Aws::SecurityIR
192
199
  class GetMembershipResponse
193
200
  attr_accessor membership_id: ::String
194
201
  attr_accessor account_id: ::String
195
- attr_accessor region: ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
202
+ attr_accessor region: ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-6" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
196
203
  attr_accessor membership_name: ::String
197
204
  attr_accessor membership_arn: ::String
198
205
  attr_accessor membership_status: ("Active" | "Cancelled" | "Terminated")
@@ -207,7 +214,7 @@ module Aws::SecurityIR
207
214
  end
208
215
 
209
216
  class ImpactedAwsRegion
210
- attr_accessor region: ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
217
+ attr_accessor region: ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-6" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
211
218
  SENSITIVE: []
212
219
  end
213
220
 
@@ -215,6 +222,7 @@ module Aws::SecurityIR
215
222
  attr_accessor name: ::String
216
223
  attr_accessor job_title: ::String
217
224
  attr_accessor email: ::String
225
+ attr_accessor communication_preferences: ::Array[("Case Created" | "Case Updated" | "Case Acknowledged" | "Case Closed" | "Case Updated To Service Managed" | "Case Status Updated" | "Case Pending Customer Action Reminder" | "Case Attachment Url Uploaded" | "Case Comment Added" | "Case Comment Updated" | "Membership Created" | "Membership Updated" | "Membership Cancelled" | "Register Delegated Administrator" | "Deregister Delegated Administrator" | "Disable AWS Service Access")]
218
226
  SENSITIVE: [:name, :job_title, :email]
219
227
  end
220
228
 
@@ -229,6 +237,24 @@ module Aws::SecurityIR
229
237
  SENSITIVE: []
230
238
  end
231
239
 
240
+ class InvestigationAction
241
+ attr_accessor investigation_id: ::String
242
+ attr_accessor action_type: ("Evidence" | "Investigation" | "Summarization")
243
+ attr_accessor title: ::String
244
+ attr_accessor content: ::String
245
+ attr_accessor status: ("Pending" | "InProgress" | "Waiting" | "Completed" | "Failed" | "Cancelled")
246
+ attr_accessor last_updated: ::Time
247
+ attr_accessor feedback: Types::InvestigationFeedback
248
+ SENSITIVE: []
249
+ end
250
+
251
+ class InvestigationFeedback
252
+ attr_accessor usefulness: ("USEFUL" | "NOT_USEFUL")
253
+ attr_accessor comment: ::String
254
+ attr_accessor submitted_at: ::Time
255
+ SENSITIVE: []
256
+ end
257
+
232
258
  class ListCaseEditsRequest
233
259
  attr_accessor next_token: ::String
234
260
  attr_accessor max_results: ::Integer
@@ -294,10 +320,23 @@ module Aws::SecurityIR
294
320
  SENSITIVE: []
295
321
  end
296
322
 
323
+ class ListInvestigationsRequest
324
+ attr_accessor next_token: ::String
325
+ attr_accessor max_results: ::Integer
326
+ attr_accessor case_id: ::String
327
+ SENSITIVE: []
328
+ end
329
+
330
+ class ListInvestigationsResponse
331
+ attr_accessor next_token: ::String
332
+ attr_accessor investigation_actions: ::Array[Types::InvestigationAction]
333
+ SENSITIVE: []
334
+ end
335
+
297
336
  class ListMembershipItem
298
337
  attr_accessor membership_id: ::String
299
338
  attr_accessor account_id: ::String
300
- attr_accessor region: ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
339
+ attr_accessor region: ("af-south-1" | "ap-east-1" | "ap-east-2" | "ap-northeast-1" | "ap-northeast-2" | "ap-northeast-3" | "ap-south-1" | "ap-south-2" | "ap-southeast-1" | "ap-southeast-2" | "ap-southeast-3" | "ap-southeast-4" | "ap-southeast-5" | "ap-southeast-6" | "ap-southeast-7" | "ca-central-1" | "ca-west-1" | "cn-north-1" | "cn-northwest-1" | "eu-central-1" | "eu-central-2" | "eu-north-1" | "eu-south-1" | "eu-south-2" | "eu-west-1" | "eu-west-2" | "eu-west-3" | "il-central-1" | "me-central-1" | "me-south-1" | "mx-central-1" | "sa-east-1" | "us-east-1" | "us-east-2" | "us-west-1" | "us-west-2")
301
340
  attr_accessor membership_arn: ::String
302
341
  attr_accessor membership_status: ("Active" | "Cancelled" | "Terminated")
303
342
  SENSITIVE: []
@@ -354,6 +393,17 @@ module Aws::SecurityIR
354
393
  SENSITIVE: []
355
394
  end
356
395
 
396
+ class SendFeedbackRequest
397
+ attr_accessor case_id: ::String
398
+ attr_accessor result_id: ::String
399
+ attr_accessor usefulness: ("USEFUL" | "NOT_USEFUL")
400
+ attr_accessor comment: ::String
401
+ SENSITIVE: []
402
+ end
403
+
404
+ class SendFeedbackResponse < Aws::EmptyStructure
405
+ end
406
+
357
407
  class ServiceQuotaExceededException
358
408
  attr_accessor message: ::String
359
409
  attr_accessor resource_id: ::String
@@ -425,6 +475,7 @@ module Aws::SecurityIR
425
475
  attr_accessor impacted_aws_regions_to_delete: ::Array[Types::ImpactedAwsRegion]
426
476
  attr_accessor impacted_accounts_to_add: ::Array[::String]
427
477
  attr_accessor impacted_accounts_to_delete: ::Array[::String]
478
+ attr_accessor case_metadata: ::Array[Types::CaseMetadataEntry]
428
479
  SENSITIVE: [:title, :description]
429
480
  end
430
481
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-securityir
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.15.0
4
+ version: 1.17.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
@@ -18,7 +18,7 @@ dependencies:
18
18
  version: '3'
19
19
  - - ">="
20
20
  - !ruby/object:Gem::Version
21
- version: 3.234.0
21
+ version: 3.239.1
22
22
  type: :runtime
23
23
  prerelease: false
24
24
  version_requirements: !ruby/object:Gem::Requirement
@@ -28,7 +28,7 @@ dependencies:
28
28
  version: '3'
29
29
  - - ">="
30
30
  - !ruby/object:Gem::Version
31
- version: 3.234.0
31
+ version: 3.239.1
32
32
  - !ruby/object:Gem::Dependency
33
33
  name: aws-sigv4
34
34
  requirement: !ruby/object:Gem::Requirement