aws-sdk-securityagent 1.10.0 → 1.12.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: c7ce734aa617093d3d2494b86da92e0b8c4d11d0ebb285ff3b0556f18d18aa3c
4
- data.tar.gz: da7b8da12d892718010db8b119c8792adf7fd65a9c84d3df3517508a6c911eeb
3
+ metadata.gz: c03189b02de83f4277708638aeb4323d3fbb5576d502887b4cc3ab985475971d
4
+ data.tar.gz: 481be2e542bd7325e15a8c8338d34d6b92073e6c07cd38e2bb7f4b0f467a160a
5
5
  SHA512:
6
- metadata.gz: '00808be3cc19052ed670e07f309bfee8f9820d47a3f474dc3322c7e985fdb4d52c91468062c13102a09ed809a25c8cd8a62b79a31d8ffbc0f000a23b2d151b47'
7
- data.tar.gz: 8994c26be87a4b21e036e5842f65797c31b42432b00b599d37a3af3cbe9aa0a0034b37378bf2be792844cfe832334fb497bcfb7c8dac9c81ca183499b51448e5
6
+ metadata.gz: b5d41e9a4638e8582f84d2a9f23ab30bcd9fff656f24e30db608dff71f2eebef7ab7a1466aed2d3ec059e69493fb32451e89354f6664a3634dd9b4f2413bbc94
7
+ data.tar.gz: 84db496e5f34e8ebeac3ccb121a1bfc2a706c82f421b965fdf8b9e36449aeca0f41f28739df950abc181c9a1217e6c598e1f88be7bd9099ea86febd79daa6070
data/CHANGELOG.md CHANGED
@@ -1,6 +1,16 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.12.0 (2026-08-13)
5
+ ------------------
6
+
7
+ * Feature - Add support for setting a maximum task-hour budget cap on penetration tests and code reviews, and for revalidating previously reported findings via a new REVALIDATION job type.
8
+
9
+ 1.11.0 (2026-08-07)
10
+ ------------------
11
+
12
+ * Feature - Added enableEmailMfa input field on Actor to enable email-based MFA during penetration tests. When enabled, a server-generated mfaForwardingAddress is returned. Set up a forwarding rule in your email provider to forward MFA emails to this address so the agent can complete email-based MFA login flows
13
+
4
14
  1.10.0 (2026-07-30)
5
15
  ------------------
6
16
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.10.0
1
+ 1.12.0
@@ -645,6 +645,8 @@ module Aws::SecurityAgent
645
645
  # resp.deleted[0].assets.actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
646
646
  # resp.deleted[0].assets.actors[0].authentication.value #=> String
647
647
  # resp.deleted[0].assets.actors[0].description #=> String
648
+ # resp.deleted[0].assets.actors[0].enable_email_mfa #=> Boolean
649
+ # resp.deleted[0].assets.actors[0].mfa_forwarding_address #=> String
648
650
  # resp.deleted[0].assets.documents #=> Array
649
651
  # resp.deleted[0].assets.documents[0].s3_location #=> String
650
652
  # resp.deleted[0].assets.documents[0].artifact_id #=> String
@@ -677,6 +679,7 @@ module Aws::SecurityAgent
677
679
  # resp.deleted[0].clean_up_strategy #=> String, one of "BEST_EFFORT_DELETE", "RETAIN_ALL"
678
680
  # resp.deleted[0].disable_managed_skills #=> Array
679
681
  # resp.deleted[0].disable_managed_skills[0] #=> String, one of "FINDING_PERSONALIZATION", "LOGIN_OPTIMIZATION"
682
+ # resp.deleted[0].max_task_hours #=> Float
680
683
  # resp.deleted[0].created_at #=> Time
681
684
  # resp.deleted[0].updated_at #=> Time
682
685
  # resp.failed #=> Array
@@ -970,6 +973,7 @@ module Aws::SecurityAgent
970
973
  # resp.code_review_jobs[0].integrated_repositories[0].provider_resource_id #=> String
971
974
  # resp.code_review_jobs[0].integrated_repositories[0].branch #=> String
972
975
  # resp.code_review_jobs[0].code_remediation_strategy #=> String, one of "AUTOMATIC", "DISABLED"
976
+ # resp.code_review_jobs[0].max_task_hours #=> Float
973
977
  # resp.code_review_jobs[0].created_at #=> Time
974
978
  # resp.code_review_jobs[0].updated_at #=> Time
975
979
  # resp.not_found #=> Array
@@ -1021,6 +1025,8 @@ module Aws::SecurityAgent
1021
1025
  # resp.code_reviews[0].assets.actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
1022
1026
  # resp.code_reviews[0].assets.actors[0].authentication.value #=> String
1023
1027
  # resp.code_reviews[0].assets.actors[0].description #=> String
1028
+ # resp.code_reviews[0].assets.actors[0].enable_email_mfa #=> Boolean
1029
+ # resp.code_reviews[0].assets.actors[0].mfa_forwarding_address #=> String
1024
1030
  # resp.code_reviews[0].assets.documents #=> Array
1025
1031
  # resp.code_reviews[0].assets.documents[0].s3_location #=> String
1026
1032
  # resp.code_reviews[0].assets.documents[0].artifact_id #=> String
@@ -1037,6 +1043,7 @@ module Aws::SecurityAgent
1037
1043
  # resp.code_reviews[0].log_config.log_stream #=> String
1038
1044
  # resp.code_reviews[0].code_remediation_strategy #=> String, one of "AUTOMATIC", "DISABLED"
1039
1045
  # resp.code_reviews[0].validation_mode #=> String, one of "DISABLED", "SIMULATED"
1046
+ # resp.code_reviews[0].max_task_hours #=> Float
1040
1047
  # resp.code_reviews[0].created_at #=> Time
1041
1048
  # resp.code_reviews[0].updated_at #=> Time
1042
1049
  # resp.not_found #=> Array
@@ -1112,6 +1119,9 @@ module Aws::SecurityAgent
1112
1119
  # resp.findings[0].verification_script.env_vars[0].name #=> String
1113
1120
  # resp.findings[0].verification_script.env_vars[0].value #=> String
1114
1121
  # resp.findings[0].alignment_rationale #=> String
1122
+ # resp.findings[0].revalidation_job_ids #=> Array
1123
+ # resp.findings[0].revalidation_job_ids[0] #=> String
1124
+ # resp.findings[0].original_finding_id #=> String
1115
1125
  # resp.findings[0].created_at #=> Time
1116
1126
  # resp.findings[0].updated_at #=> Time
1117
1127
  # resp.not_found #=> Array
@@ -1218,6 +1228,8 @@ module Aws::SecurityAgent
1218
1228
  # resp.pentest_jobs[0].actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
1219
1229
  # resp.pentest_jobs[0].actors[0].authentication.value #=> String
1220
1230
  # resp.pentest_jobs[0].actors[0].description #=> String
1231
+ # resp.pentest_jobs[0].actors[0].enable_email_mfa #=> Boolean
1232
+ # resp.pentest_jobs[0].actors[0].mfa_forwarding_address #=> String
1221
1233
  # resp.pentest_jobs[0].documents #=> Array
1222
1234
  # resp.pentest_jobs[0].documents[0].s3_location #=> String
1223
1235
  # resp.pentest_jobs[0].documents[0].artifact_id #=> String
@@ -1265,6 +1277,10 @@ module Aws::SecurityAgent
1265
1277
  # resp.pentest_jobs[0].clean_up_strategy #=> String, one of "BEST_EFFORT_DELETE", "RETAIN_ALL"
1266
1278
  # resp.pentest_jobs[0].disable_managed_skills #=> Array
1267
1279
  # resp.pentest_jobs[0].disable_managed_skills[0] #=> String, one of "FINDING_PERSONALIZATION", "LOGIN_OPTIMIZATION"
1280
+ # resp.pentest_jobs[0].max_task_hours #=> Float
1281
+ # resp.pentest_jobs[0].job_type #=> String, one of "FULL", "REVALIDATION"
1282
+ # resp.pentest_jobs[0].selected_finding_ids #=> Array
1283
+ # resp.pentest_jobs[0].selected_finding_ids[0] #=> String
1268
1284
  # resp.pentest_jobs[0].created_at #=> Time
1269
1285
  # resp.pentest_jobs[0].updated_at #=> Time
1270
1286
  # resp.not_found #=> Array
@@ -1314,6 +1330,8 @@ module Aws::SecurityAgent
1314
1330
  # resp.pentests[0].assets.actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
1315
1331
  # resp.pentests[0].assets.actors[0].authentication.value #=> String
1316
1332
  # resp.pentests[0].assets.actors[0].description #=> String
1333
+ # resp.pentests[0].assets.actors[0].enable_email_mfa #=> Boolean
1334
+ # resp.pentests[0].assets.actors[0].mfa_forwarding_address #=> String
1317
1335
  # resp.pentests[0].assets.documents #=> Array
1318
1336
  # resp.pentests[0].assets.documents[0].s3_location #=> String
1319
1337
  # resp.pentests[0].assets.documents[0].artifact_id #=> String
@@ -1346,6 +1364,7 @@ module Aws::SecurityAgent
1346
1364
  # resp.pentests[0].clean_up_strategy #=> String, one of "BEST_EFFORT_DELETE", "RETAIN_ALL"
1347
1365
  # resp.pentests[0].disable_managed_skills #=> Array
1348
1366
  # resp.pentests[0].disable_managed_skills[0] #=> String, one of "FINDING_PERSONALIZATION", "LOGIN_OPTIMIZATION"
1367
+ # resp.pentests[0].max_task_hours #=> Float
1349
1368
  # resp.pentests[0].created_at #=> Time
1350
1369
  # resp.pentests[0].updated_at #=> Time
1351
1370
  # resp.not_found #=> Array
@@ -1600,6 +1619,8 @@ module Aws::SecurityAgent
1600
1619
  # resp.threat_models[0].assets.actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
1601
1620
  # resp.threat_models[0].assets.actors[0].authentication.value #=> String
1602
1621
  # resp.threat_models[0].assets.actors[0].description #=> String
1622
+ # resp.threat_models[0].assets.actors[0].enable_email_mfa #=> Boolean
1623
+ # resp.threat_models[0].assets.actors[0].mfa_forwarding_address #=> String
1603
1624
  # resp.threat_models[0].assets.documents #=> Array
1604
1625
  # resp.threat_models[0].assets.documents[0].s3_location #=> String
1605
1626
  # resp.threat_models[0].assets.documents[0].artifact_id #=> String
@@ -1923,6 +1944,11 @@ module Aws::SecurityAgent
1923
1944
  # The validation mode for the code review. Valid values are SIMULATED
1924
1945
  # and DISABLED.
1925
1946
  #
1947
+ # @option params [Float] :max_task_hours
1948
+ # The maximum number of billable task hours allowed for jobs started
1949
+ # from this code review. Must be a positive number. If not set, jobs run
1950
+ # to completion with no budget cap.
1951
+ #
1926
1952
  # @return [Types::CreateCodeReviewOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1927
1953
  #
1928
1954
  # * {Types::CreateCodeReviewOutput#code_review_id #code_review_id} => String
@@ -1935,6 +1961,7 @@ module Aws::SecurityAgent
1935
1961
  # * {Types::CreateCodeReviewOutput#agent_space_id #agent_space_id} => String
1936
1962
  # * {Types::CreateCodeReviewOutput#code_remediation_strategy #code_remediation_strategy} => String
1937
1963
  # * {Types::CreateCodeReviewOutput#validation_mode #validation_mode} => String
1964
+ # * {Types::CreateCodeReviewOutput#max_task_hours #max_task_hours} => Float
1938
1965
  #
1939
1966
  # @example Request syntax with placeholder values
1940
1967
  #
@@ -1956,6 +1983,8 @@ module Aws::SecurityAgent
1956
1983
  # value: "String",
1957
1984
  # },
1958
1985
  # description: "String",
1986
+ # enable_email_mfa: false,
1987
+ # mfa_forwarding_address: "SensitiveEmailAddress",
1959
1988
  # },
1960
1989
  # ],
1961
1990
  # documents: [
@@ -1988,6 +2017,7 @@ module Aws::SecurityAgent
1988
2017
  # },
1989
2018
  # code_remediation_strategy: "AUTOMATIC", # accepts AUTOMATIC, DISABLED
1990
2019
  # validation_mode: "DISABLED", # accepts DISABLED, SIMULATED
2020
+ # max_task_hours: 1.0,
1991
2021
  # })
1992
2022
  #
1993
2023
  # @example Response structure
@@ -2005,6 +2035,8 @@ module Aws::SecurityAgent
2005
2035
  # resp.assets.actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
2006
2036
  # resp.assets.actors[0].authentication.value #=> String
2007
2037
  # resp.assets.actors[0].description #=> String
2038
+ # resp.assets.actors[0].enable_email_mfa #=> Boolean
2039
+ # resp.assets.actors[0].mfa_forwarding_address #=> String
2008
2040
  # resp.assets.documents #=> Array
2009
2041
  # resp.assets.documents[0].s3_location #=> String
2010
2042
  # resp.assets.documents[0].artifact_id #=> String
@@ -2022,6 +2054,7 @@ module Aws::SecurityAgent
2022
2054
  # resp.agent_space_id #=> String
2023
2055
  # resp.code_remediation_strategy #=> String, one of "AUTOMATIC", "DISABLED"
2024
2056
  # resp.validation_mode #=> String, one of "DISABLED", "SIMULATED"
2057
+ # resp.max_task_hours #=> Float
2025
2058
  #
2026
2059
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/CreateCodeReview AWS API Documentation
2027
2060
  #
@@ -2194,6 +2227,11 @@ module Aws::SecurityAgent
2194
2227
  # A list of managed skills to disable for this pentest. Valid values
2195
2228
  # include FINDING\_PERSONALIZATION and LOGIN\_OPTIMIZATION.
2196
2229
  #
2230
+ # @option params [Float] :max_task_hours
2231
+ # The maximum number of billable task hours allowed for jobs started
2232
+ # from this pentest. Must be a positive number. If not set, jobs run to
2233
+ # completion with no budget cap.
2234
+ #
2197
2235
  # @return [Types::CreatePentestOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2198
2236
  #
2199
2237
  # * {Types::CreatePentestOutput#pentest_id #pentest_id} => String
@@ -2226,6 +2264,8 @@ module Aws::SecurityAgent
2226
2264
  # value: "String",
2227
2265
  # },
2228
2266
  # description: "String",
2267
+ # enable_email_mfa: false,
2268
+ # mfa_forwarding_address: "SensitiveEmailAddress",
2229
2269
  # },
2230
2270
  # ],
2231
2271
  # documents: [
@@ -2279,6 +2319,7 @@ module Aws::SecurityAgent
2279
2319
  # },
2280
2320
  # code_remediation_strategy: "AUTOMATIC", # accepts AUTOMATIC, DISABLED
2281
2321
  # disable_managed_skills: ["FINDING_PERSONALIZATION"], # accepts FINDING_PERSONALIZATION, LOGIN_OPTIMIZATION
2322
+ # max_task_hours: 1.0,
2282
2323
  # })
2283
2324
  #
2284
2325
  # @example Response structure
@@ -2296,6 +2337,8 @@ module Aws::SecurityAgent
2296
2337
  # resp.assets.actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
2297
2338
  # resp.assets.actors[0].authentication.value #=> String
2298
2339
  # resp.assets.actors[0].description #=> String
2340
+ # resp.assets.actors[0].enable_email_mfa #=> Boolean
2341
+ # resp.assets.actors[0].mfa_forwarding_address #=> String
2299
2342
  # resp.assets.documents #=> Array
2300
2343
  # resp.assets.documents[0].s3_location #=> String
2301
2344
  # resp.assets.documents[0].artifact_id #=> String
@@ -2715,6 +2758,8 @@ module Aws::SecurityAgent
2715
2758
  # value: "String",
2716
2759
  # },
2717
2760
  # description: "String",
2761
+ # enable_email_mfa: false,
2762
+ # mfa_forwarding_address: "SensitiveEmailAddress",
2718
2763
  # },
2719
2764
  # ],
2720
2765
  # documents: [
@@ -2778,6 +2823,8 @@ module Aws::SecurityAgent
2778
2823
  # resp.assets.actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
2779
2824
  # resp.assets.actors[0].authentication.value #=> String
2780
2825
  # resp.assets.actors[0].description #=> String
2826
+ # resp.assets.actors[0].enable_email_mfa #=> Boolean
2827
+ # resp.assets.actors[0].mfa_forwarding_address #=> String
2781
2828
  # resp.assets.documents #=> Array
2782
2829
  # resp.assets.documents[0].s3_location #=> String
2783
2830
  # resp.assets.documents[0].artifact_id #=> String
@@ -4688,6 +4735,16 @@ module Aws::SecurityAgent
4688
4735
  # @option params [required, String] :pentest_id
4689
4736
  # The unique identifier of the pentest to start a job for.
4690
4737
  #
4738
+ # @option params [String] :job_type
4739
+ # The type of pentest job to start. Valid values are FULL and
4740
+ # REVALIDATION. When set to REVALIDATION, the selectedFindingIds
4741
+ # parameter is required.
4742
+ #
4743
+ # @option params [Array<String>] :selected_finding_ids
4744
+ # The list of finding identifiers to revalidate. Required when jobType
4745
+ # is REVALIDATION. Each finding must belong to the same agent space and
4746
+ # pentest.
4747
+ #
4691
4748
  # @return [Types::StartPentestJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4692
4749
  #
4693
4750
  # * {Types::StartPentestJobOutput#title #title} => String
@@ -4703,6 +4760,8 @@ module Aws::SecurityAgent
4703
4760
  # resp = client.start_pentest_job({
4704
4761
  # agent_space_id: "String", # required
4705
4762
  # pentest_id: "String", # required
4763
+ # job_type: "FULL", # accepts FULL, REVALIDATION
4764
+ # selected_finding_ids: ["String"],
4706
4765
  # })
4707
4766
  #
4708
4767
  # @example Response structure
@@ -5066,6 +5125,10 @@ module Aws::SecurityAgent
5066
5125
  # The updated validation mode for the code review. Valid values are
5067
5126
  # SIMULATED and DISABLED.
5068
5127
  #
5128
+ # @option params [Float] :max_task_hours
5129
+ # The updated maximum number of billable task hours allowed for jobs
5130
+ # started from this code review.
5131
+ #
5069
5132
  # @return [Types::UpdateCodeReviewOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5070
5133
  #
5071
5134
  # * {Types::UpdateCodeReviewOutput#code_review_id #code_review_id} => String
@@ -5078,6 +5141,7 @@ module Aws::SecurityAgent
5078
5141
  # * {Types::UpdateCodeReviewOutput#agent_space_id #agent_space_id} => String
5079
5142
  # * {Types::UpdateCodeReviewOutput#code_remediation_strategy #code_remediation_strategy} => String
5080
5143
  # * {Types::UpdateCodeReviewOutput#validation_mode #validation_mode} => String
5144
+ # * {Types::UpdateCodeReviewOutput#max_task_hours #max_task_hours} => Float
5081
5145
  #
5082
5146
  # @example Request syntax with placeholder values
5083
5147
  #
@@ -5100,6 +5164,8 @@ module Aws::SecurityAgent
5100
5164
  # value: "String",
5101
5165
  # },
5102
5166
  # description: "String",
5167
+ # enable_email_mfa: false,
5168
+ # mfa_forwarding_address: "SensitiveEmailAddress",
5103
5169
  # },
5104
5170
  # ],
5105
5171
  # documents: [
@@ -5132,6 +5198,7 @@ module Aws::SecurityAgent
5132
5198
  # },
5133
5199
  # code_remediation_strategy: "AUTOMATIC", # accepts AUTOMATIC, DISABLED
5134
5200
  # validation_mode: "DISABLED", # accepts DISABLED, SIMULATED
5201
+ # max_task_hours: 1.0,
5135
5202
  # })
5136
5203
  #
5137
5204
  # @example Response structure
@@ -5149,6 +5216,8 @@ module Aws::SecurityAgent
5149
5216
  # resp.assets.actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
5150
5217
  # resp.assets.actors[0].authentication.value #=> String
5151
5218
  # resp.assets.actors[0].description #=> String
5219
+ # resp.assets.actors[0].enable_email_mfa #=> Boolean
5220
+ # resp.assets.actors[0].mfa_forwarding_address #=> String
5152
5221
  # resp.assets.documents #=> Array
5153
5222
  # resp.assets.documents[0].s3_location #=> String
5154
5223
  # resp.assets.documents[0].artifact_id #=> String
@@ -5166,6 +5235,7 @@ module Aws::SecurityAgent
5166
5235
  # resp.agent_space_id #=> String
5167
5236
  # resp.code_remediation_strategy #=> String, one of "AUTOMATIC", "DISABLED"
5168
5237
  # resp.validation_mode #=> String, one of "DISABLED", "SIMULATED"
5238
+ # resp.max_task_hours #=> Float
5169
5239
  #
5170
5240
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/UpdateCodeReview AWS API Documentation
5171
5241
  #
@@ -5348,6 +5418,10 @@ module Aws::SecurityAgent
5348
5418
  # The updated list of managed skills to disable for this pentest. Valid
5349
5419
  # values include FINDING\_PERSONALIZATION and LOGIN\_OPTIMIZATION.
5350
5420
  #
5421
+ # @option params [Float] :max_task_hours
5422
+ # The updated maximum number of billable task hours allowed for jobs
5423
+ # started from this pentest.
5424
+ #
5351
5425
  # @return [Types::UpdatePentestOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5352
5426
  #
5353
5427
  # * {Types::UpdatePentestOutput#pentest_id #pentest_id} => String
@@ -5381,6 +5455,8 @@ module Aws::SecurityAgent
5381
5455
  # value: "String",
5382
5456
  # },
5383
5457
  # description: "String",
5458
+ # enable_email_mfa: false,
5459
+ # mfa_forwarding_address: "SensitiveEmailAddress",
5384
5460
  # },
5385
5461
  # ],
5386
5462
  # documents: [
@@ -5434,6 +5510,7 @@ module Aws::SecurityAgent
5434
5510
  # },
5435
5511
  # code_remediation_strategy: "AUTOMATIC", # accepts AUTOMATIC, DISABLED
5436
5512
  # disable_managed_skills: ["FINDING_PERSONALIZATION"], # accepts FINDING_PERSONALIZATION, LOGIN_OPTIMIZATION
5513
+ # max_task_hours: 1.0,
5437
5514
  # })
5438
5515
  #
5439
5516
  # @example Response structure
@@ -5451,6 +5528,8 @@ module Aws::SecurityAgent
5451
5528
  # resp.assets.actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
5452
5529
  # resp.assets.actors[0].authentication.value #=> String
5453
5530
  # resp.assets.actors[0].description #=> String
5531
+ # resp.assets.actors[0].enable_email_mfa #=> Boolean
5532
+ # resp.assets.actors[0].mfa_forwarding_address #=> String
5454
5533
  # resp.assets.documents #=> Array
5455
5534
  # resp.assets.documents[0].s3_location #=> String
5456
5535
  # resp.assets.documents[0].artifact_id #=> String
@@ -5837,6 +5916,8 @@ module Aws::SecurityAgent
5837
5916
  # value: "String",
5838
5917
  # },
5839
5918
  # description: "String",
5919
+ # enable_email_mfa: false,
5920
+ # mfa_forwarding_address: "SensitiveEmailAddress",
5840
5921
  # },
5841
5922
  # ],
5842
5923
  # documents: [
@@ -5894,6 +5975,8 @@ module Aws::SecurityAgent
5894
5975
  # resp.assets.actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
5895
5976
  # resp.assets.actors[0].authentication.value #=> String
5896
5977
  # resp.assets.actors[0].description #=> String
5978
+ # resp.assets.actors[0].enable_email_mfa #=> Boolean
5979
+ # resp.assets.actors[0].mfa_forwarding_address #=> String
5897
5980
  # resp.assets.documents #=> Array
5898
5981
  # resp.assets.documents[0].s3_location #=> String
5899
5982
  # resp.assets.documents[0].artifact_id #=> String
@@ -5984,7 +6067,7 @@ module Aws::SecurityAgent
5984
6067
  tracer: tracer
5985
6068
  )
5986
6069
  context[:gem_name] = 'aws-sdk-securityagent'
5987
- context[:gem_version] = '1.10.0'
6070
+ context[:gem_version] = '1.12.0'
5988
6071
  Seahorse::Client::Request.new(handlers, context)
5989
6072
  end
5990
6073
 
@@ -256,6 +256,7 @@ module Aws::SecurityAgent
256
256
  InternalServerException = Shapes::StructureShape.new(name: 'InternalServerException')
257
257
  IpAddressType = Shapes::StringShape.new(name: 'IpAddressType')
258
258
  JobStatus = Shapes::StringShape.new(name: 'JobStatus')
259
+ JobType = Shapes::StringShape.new(name: 'JobType')
259
260
  KmsKeyId = Shapes::StringShape.new(name: 'KmsKeyId')
260
261
  LambdaFunctionArn = Shapes::StringShape.new(name: 'LambdaFunctionArn')
261
262
  LambdaFunctionArns = Shapes::ListShape.new(name: 'LambdaFunctionArns')
@@ -390,6 +391,7 @@ module Aws::SecurityAgent
390
391
  SecurityRequirementSummaryList = Shapes::ListShape.new(name: 'SecurityRequirementSummaryList')
391
392
  SelfManagedInput = Shapes::StructureShape.new(name: 'SelfManagedInput')
392
393
  SensitiveEmail = Shapes::StringShape.new(name: 'SensitiveEmail')
394
+ SensitiveEmailAddress = Shapes::StringShape.new(name: 'SensitiveEmailAddress')
393
395
  ServiceManagedInput = Shapes::StructureShape.new(name: 'ServiceManagedInput')
394
396
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
395
397
  ServiceRole = Shapes::StringShape.new(name: 'ServiceRole')
@@ -528,6 +530,8 @@ module Aws::SecurityAgent
528
530
  Actor.add_member(:uris, Shapes::ShapeRef.new(shape: UriList, location_name: "uris"))
529
531
  Actor.add_member(:authentication, Shapes::ShapeRef.new(shape: Authentication, location_name: "authentication"))
530
532
  Actor.add_member(:description, Shapes::ShapeRef.new(shape: String, location_name: "description"))
533
+ Actor.add_member(:enable_email_mfa, Shapes::ShapeRef.new(shape: Boolean, location_name: "enableEmailMfa"))
534
+ Actor.add_member(:mfa_forwarding_address, Shapes::ShapeRef.new(shape: SensitiveEmailAddress, location_name: "mfaForwardingAddress"))
531
535
  Actor.struct_class = Types::Actor
532
536
 
533
537
  ActorList.member = Shapes::ShapeRef.new(shape: Actor)
@@ -858,6 +862,7 @@ module Aws::SecurityAgent
858
862
  CodeReview.add_member(:log_config, Shapes::ShapeRef.new(shape: CloudWatchLog, location_name: "logConfig"))
859
863
  CodeReview.add_member(:code_remediation_strategy, Shapes::ShapeRef.new(shape: CodeRemediationStrategy, location_name: "codeRemediationStrategy"))
860
864
  CodeReview.add_member(:validation_mode, Shapes::ShapeRef.new(shape: ValidationMode, location_name: "validationMode"))
865
+ CodeReview.add_member(:max_task_hours, Shapes::ShapeRef.new(shape: Double, location_name: "maxTaskHours"))
861
866
  CodeReview.add_member(:created_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "createdAt"))
862
867
  CodeReview.add_member(:updated_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "updatedAt"))
863
868
  CodeReview.struct_class = Types::CodeReview
@@ -878,6 +883,7 @@ module Aws::SecurityAgent
878
883
  CodeReviewJob.add_member(:error_information, Shapes::ShapeRef.new(shape: ErrorInformation, location_name: "errorInformation"))
879
884
  CodeReviewJob.add_member(:integrated_repositories, Shapes::ShapeRef.new(shape: IntegratedRepositoryList, location_name: "integratedRepositories"))
880
885
  CodeReviewJob.add_member(:code_remediation_strategy, Shapes::ShapeRef.new(shape: CodeRemediationStrategy, location_name: "codeRemediationStrategy"))
886
+ CodeReviewJob.add_member(:max_task_hours, Shapes::ShapeRef.new(shape: Double, location_name: "maxTaskHours"))
881
887
  CodeReviewJob.add_member(:created_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "createdAt"))
882
888
  CodeReviewJob.add_member(:updated_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "updatedAt"))
883
889
  CodeReviewJob.struct_class = Types::CodeReviewJob
@@ -1005,6 +1011,7 @@ module Aws::SecurityAgent
1005
1011
  CreateCodeReviewInput.add_member(:log_config, Shapes::ShapeRef.new(shape: CloudWatchLog, location_name: "logConfig"))
1006
1012
  CreateCodeReviewInput.add_member(:code_remediation_strategy, Shapes::ShapeRef.new(shape: CodeRemediationStrategy, location_name: "codeRemediationStrategy"))
1007
1013
  CreateCodeReviewInput.add_member(:validation_mode, Shapes::ShapeRef.new(shape: ValidationMode, location_name: "validationMode"))
1014
+ CreateCodeReviewInput.add_member(:max_task_hours, Shapes::ShapeRef.new(shape: Double, location_name: "maxTaskHours"))
1008
1015
  CreateCodeReviewInput.struct_class = Types::CreateCodeReviewInput
1009
1016
 
1010
1017
  CreateCodeReviewOutput.add_member(:code_review_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "codeReviewId"))
@@ -1017,6 +1024,7 @@ module Aws::SecurityAgent
1017
1024
  CreateCodeReviewOutput.add_member(:agent_space_id, Shapes::ShapeRef.new(shape: String, location_name: "agentSpaceId"))
1018
1025
  CreateCodeReviewOutput.add_member(:code_remediation_strategy, Shapes::ShapeRef.new(shape: CodeRemediationStrategy, location_name: "codeRemediationStrategy"))
1019
1026
  CreateCodeReviewOutput.add_member(:validation_mode, Shapes::ShapeRef.new(shape: ValidationMode, location_name: "validationMode"))
1027
+ CreateCodeReviewOutput.add_member(:max_task_hours, Shapes::ShapeRef.new(shape: Double, location_name: "maxTaskHours"))
1020
1028
  CreateCodeReviewOutput.struct_class = Types::CreateCodeReviewOutput
1021
1029
 
1022
1030
  CreateIntegrationInput.add_member(:provider, Shapes::ShapeRef.new(shape: Provider, required: true, location_name: "provider"))
@@ -1049,6 +1057,7 @@ module Aws::SecurityAgent
1049
1057
  CreatePentestInput.add_member(:network_traffic_config, Shapes::ShapeRef.new(shape: NetworkTrafficConfig, location_name: "networkTrafficConfig"))
1050
1058
  CreatePentestInput.add_member(:code_remediation_strategy, Shapes::ShapeRef.new(shape: CodeRemediationStrategy, location_name: "codeRemediationStrategy"))
1051
1059
  CreatePentestInput.add_member(:disable_managed_skills, Shapes::ShapeRef.new(shape: SkillTypeList, location_name: "disableManagedSkills"))
1060
+ CreatePentestInput.add_member(:max_task_hours, Shapes::ShapeRef.new(shape: Double, location_name: "maxTaskHours"))
1052
1061
  CreatePentestInput.struct_class = Types::CreatePentestInput
1053
1062
 
1054
1063
  CreatePentestOutput.add_member(:pentest_id, Shapes::ShapeRef.new(shape: String, location_name: "pentestId"))
@@ -1341,6 +1350,8 @@ module Aws::SecurityAgent
1341
1350
  Finding.add_member(:code_locations, Shapes::ShapeRef.new(shape: CodeLocationList, location_name: "codeLocations"))
1342
1351
  Finding.add_member(:verification_script, Shapes::ShapeRef.new(shape: VerificationScript, location_name: "verificationScript"))
1343
1352
  Finding.add_member(:alignment_rationale, Shapes::ShapeRef.new(shape: String, location_name: "alignmentRationale"))
1353
+ Finding.add_member(:revalidation_job_ids, Shapes::ShapeRef.new(shape: StringList, location_name: "revalidationJobIds"))
1354
+ Finding.add_member(:original_finding_id, Shapes::ShapeRef.new(shape: String, location_name: "originalFindingId"))
1344
1355
  Finding.add_member(:created_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "createdAt"))
1345
1356
  Finding.add_member(:updated_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "updatedAt"))
1346
1357
  Finding.struct_class = Types::Finding
@@ -1844,6 +1855,7 @@ module Aws::SecurityAgent
1844
1855
  Pentest.add_member(:code_remediation_strategy, Shapes::ShapeRef.new(shape: CodeRemediationStrategy, location_name: "codeRemediationStrategy"))
1845
1856
  Pentest.add_member(:clean_up_strategy, Shapes::ShapeRef.new(shape: CleanUpStrategy, location_name: "cleanUpStrategy"))
1846
1857
  Pentest.add_member(:disable_managed_skills, Shapes::ShapeRef.new(shape: SkillTypeList, location_name: "disableManagedSkills"))
1858
+ Pentest.add_member(:max_task_hours, Shapes::ShapeRef.new(shape: Double, location_name: "maxTaskHours"))
1847
1859
  Pentest.add_member(:created_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "createdAt"))
1848
1860
  Pentest.add_member(:updated_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "updatedAt"))
1849
1861
  Pentest.struct_class = Types::Pentest
@@ -1873,6 +1885,9 @@ module Aws::SecurityAgent
1873
1885
  PentestJob.add_member(:code_remediation_strategy, Shapes::ShapeRef.new(shape: CodeRemediationStrategy, location_name: "codeRemediationStrategy"))
1874
1886
  PentestJob.add_member(:clean_up_strategy, Shapes::ShapeRef.new(shape: CleanUpStrategy, location_name: "cleanUpStrategy"))
1875
1887
  PentestJob.add_member(:disable_managed_skills, Shapes::ShapeRef.new(shape: SkillTypeList, location_name: "disableManagedSkills"))
1888
+ PentestJob.add_member(:max_task_hours, Shapes::ShapeRef.new(shape: Double, location_name: "maxTaskHours"))
1889
+ PentestJob.add_member(:job_type, Shapes::ShapeRef.new(shape: JobType, location_name: "jobType"))
1890
+ PentestJob.add_member(:selected_finding_ids, Shapes::ShapeRef.new(shape: StringList, location_name: "selectedFindingIds"))
1876
1891
  PentestJob.add_member(:created_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "createdAt"))
1877
1892
  PentestJob.add_member(:updated_at, Shapes::ShapeRef.new(shape: SyntheticTimestamp_date_time, location_name: "updatedAt"))
1878
1893
  PentestJob.struct_class = Types::PentestJob
@@ -2051,6 +2066,8 @@ module Aws::SecurityAgent
2051
2066
 
2052
2067
  StartPentestJobInput.add_member(:agent_space_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "agentSpaceId"))
2053
2068
  StartPentestJobInput.add_member(:pentest_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "pentestId"))
2069
+ StartPentestJobInput.add_member(:job_type, Shapes::ShapeRef.new(shape: JobType, location_name: "jobType"))
2070
+ StartPentestJobInput.add_member(:selected_finding_ids, Shapes::ShapeRef.new(shape: StringList, location_name: "selectedFindingIds"))
2054
2071
  StartPentestJobInput.struct_class = Types::StartPentestJobInput
2055
2072
 
2056
2073
  StartPentestJobOutput.add_member(:title, Shapes::ShapeRef.new(shape: String, location_name: "title"))
@@ -2353,6 +2370,7 @@ module Aws::SecurityAgent
2353
2370
  UpdateCodeReviewInput.add_member(:log_config, Shapes::ShapeRef.new(shape: CloudWatchLog, location_name: "logConfig"))
2354
2371
  UpdateCodeReviewInput.add_member(:code_remediation_strategy, Shapes::ShapeRef.new(shape: CodeRemediationStrategy, location_name: "codeRemediationStrategy"))
2355
2372
  UpdateCodeReviewInput.add_member(:validation_mode, Shapes::ShapeRef.new(shape: ValidationMode, location_name: "validationMode"))
2373
+ UpdateCodeReviewInput.add_member(:max_task_hours, Shapes::ShapeRef.new(shape: Double, location_name: "maxTaskHours"))
2356
2374
  UpdateCodeReviewInput.struct_class = Types::UpdateCodeReviewInput
2357
2375
 
2358
2376
  UpdateCodeReviewOutput.add_member(:code_review_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "codeReviewId"))
@@ -2365,6 +2383,7 @@ module Aws::SecurityAgent
2365
2383
  UpdateCodeReviewOutput.add_member(:agent_space_id, Shapes::ShapeRef.new(shape: String, location_name: "agentSpaceId"))
2366
2384
  UpdateCodeReviewOutput.add_member(:code_remediation_strategy, Shapes::ShapeRef.new(shape: CodeRemediationStrategy, location_name: "codeRemediationStrategy"))
2367
2385
  UpdateCodeReviewOutput.add_member(:validation_mode, Shapes::ShapeRef.new(shape: ValidationMode, location_name: "validationMode"))
2386
+ UpdateCodeReviewOutput.add_member(:max_task_hours, Shapes::ShapeRef.new(shape: Double, location_name: "maxTaskHours"))
2368
2387
  UpdateCodeReviewOutput.struct_class = Types::UpdateCodeReviewOutput
2369
2388
 
2370
2389
  UpdateFindingInput.add_member(:finding_id, Shapes::ShapeRef.new(shape: String, required: true, location_name: "findingId"))
@@ -2400,6 +2419,7 @@ module Aws::SecurityAgent
2400
2419
  UpdatePentestInput.add_member(:network_traffic_config, Shapes::ShapeRef.new(shape: NetworkTrafficConfig, location_name: "networkTrafficConfig"))
2401
2420
  UpdatePentestInput.add_member(:code_remediation_strategy, Shapes::ShapeRef.new(shape: CodeRemediationStrategy, location_name: "codeRemediationStrategy"))
2402
2421
  UpdatePentestInput.add_member(:disable_managed_skills, Shapes::ShapeRef.new(shape: SkillTypeList, location_name: "disableManagedSkills"))
2422
+ UpdatePentestInput.add_member(:max_task_hours, Shapes::ShapeRef.new(shape: Double, location_name: "maxTaskHours"))
2403
2423
  UpdatePentestInput.struct_class = Types::UpdatePentestInput
2404
2424
 
2405
2425
  UpdatePentestOutput.add_member(:pentest_id, Shapes::ShapeRef.new(shape: String, location_name: "pentestId"))
@@ -88,14 +88,24 @@ module Aws::SecurityAgent
88
88
  # A description of the actor.
89
89
  # @return [String]
90
90
  #
91
+ # @!attribute [rw] enable_email_mfa
92
+ # Whether email-based MFA is enabled for this actor.
93
+ # @return [Boolean]
94
+ #
95
+ # @!attribute [rw] mfa_forwarding_address
96
+ # Server-generated email forwarding address for receiving MFA codes.
97
+ # @return [String]
98
+ #
91
99
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/Actor AWS API Documentation
92
100
  #
93
101
  class Actor < Struct.new(
94
102
  :identifier,
95
103
  :uris,
96
104
  :authentication,
97
- :description)
98
- SENSITIVE = []
105
+ :description,
106
+ :enable_email_mfa,
107
+ :mfa_forwarding_address)
108
+ SENSITIVE = [:mfa_forwarding_address]
99
109
  include Aws::Structure
100
110
  end
101
111
 
@@ -1564,6 +1574,13 @@ module Aws::SecurityAgent
1564
1574
  # and DISABLED.
1565
1575
  # @return [String]
1566
1576
  #
1577
+ # @!attribute [rw] max_task_hours
1578
+ # The maximum number of billable task hours allowed for jobs started
1579
+ # from this code review. If a job reaches the configured limit, it is
1580
+ # gracefully stopped. If not set, jobs run to completion with no
1581
+ # budget cap.
1582
+ # @return [Float]
1583
+ #
1567
1584
  # @!attribute [rw] created_at
1568
1585
  # The date and time the code review was created, in UTC format.
1569
1586
  # @return [Time]
@@ -1583,6 +1600,7 @@ module Aws::SecurityAgent
1583
1600
  :log_config,
1584
1601
  :code_remediation_strategy,
1585
1602
  :validation_mode,
1603
+ :max_task_hours,
1586
1604
  :created_at,
1587
1605
  :updated_at)
1588
1606
  SENSITIVE = []
@@ -1651,6 +1669,12 @@ module Aws::SecurityAgent
1651
1669
  # The code remediation strategy for the code review job.
1652
1670
  # @return [String]
1653
1671
  #
1672
+ # @!attribute [rw] max_task_hours
1673
+ # The maximum number of billable task hours allowed for this code
1674
+ # review job. If the cumulative task hours reach this limit, the job
1675
+ # is gracefully stopped.
1676
+ # @return [Float]
1677
+ #
1654
1678
  # @!attribute [rw] created_at
1655
1679
  # The date and time the code review job was created, in UTC format.
1656
1680
  # @return [Time]
@@ -1677,6 +1701,7 @@ module Aws::SecurityAgent
1677
1701
  :error_information,
1678
1702
  :integrated_repositories,
1679
1703
  :code_remediation_strategy,
1704
+ :max_task_hours,
1680
1705
  :created_at,
1681
1706
  :updated_at)
1682
1707
  SENSITIVE = []
@@ -2224,6 +2249,12 @@ module Aws::SecurityAgent
2224
2249
  # and DISABLED.
2225
2250
  # @return [String]
2226
2251
  #
2252
+ # @!attribute [rw] max_task_hours
2253
+ # The maximum number of billable task hours allowed for jobs started
2254
+ # from this code review. Must be a positive number. If not set, jobs
2255
+ # run to completion with no budget cap.
2256
+ # @return [Float]
2257
+ #
2227
2258
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/CreateCodeReviewInput AWS API Documentation
2228
2259
  #
2229
2260
  class CreateCodeReviewInput < Struct.new(
@@ -2233,7 +2264,8 @@ module Aws::SecurityAgent
2233
2264
  :service_role,
2234
2265
  :log_config,
2235
2266
  :code_remediation_strategy,
2236
- :validation_mode)
2267
+ :validation_mode,
2268
+ :max_task_hours)
2237
2269
  SENSITIVE = []
2238
2270
  include Aws::Structure
2239
2271
  end
@@ -2281,6 +2313,11 @@ module Aws::SecurityAgent
2281
2313
  # The validation mode for the code review.
2282
2314
  # @return [String]
2283
2315
  #
2316
+ # @!attribute [rw] max_task_hours
2317
+ # The maximum number of billable task hours configured for jobs
2318
+ # started from this code review. Null if no budget cap is set.
2319
+ # @return [Float]
2320
+ #
2284
2321
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/CreateCodeReviewOutput AWS API Documentation
2285
2322
  #
2286
2323
  class CreateCodeReviewOutput < Struct.new(
@@ -2293,7 +2330,8 @@ module Aws::SecurityAgent
2293
2330
  :log_config,
2294
2331
  :agent_space_id,
2295
2332
  :code_remediation_strategy,
2296
- :validation_mode)
2333
+ :validation_mode,
2334
+ :max_task_hours)
2297
2335
  SENSITIVE = []
2298
2336
  include Aws::Structure
2299
2337
  end
@@ -2437,6 +2475,12 @@ module Aws::SecurityAgent
2437
2475
  # include FINDING\_PERSONALIZATION and LOGIN\_OPTIMIZATION.
2438
2476
  # @return [Array<String>]
2439
2477
  #
2478
+ # @!attribute [rw] max_task_hours
2479
+ # The maximum number of billable task hours allowed for jobs started
2480
+ # from this pentest. Must be a positive number. If not set, jobs run
2481
+ # to completion with no budget cap.
2482
+ # @return [Float]
2483
+ #
2440
2484
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/CreatePentestInput AWS API Documentation
2441
2485
  #
2442
2486
  class CreatePentestInput < Struct.new(
@@ -2449,7 +2493,8 @@ module Aws::SecurityAgent
2449
2493
  :vpc_config,
2450
2494
  :network_traffic_config,
2451
2495
  :code_remediation_strategy,
2452
- :disable_managed_skills)
2496
+ :disable_managed_skills,
2497
+ :max_task_hours)
2453
2498
  SENSITIVE = []
2454
2499
  include Aws::Structure
2455
2500
  end
@@ -3749,6 +3794,16 @@ module Aws::SecurityAgent
3749
3794
  # finding was adjusted based on customer preferences.
3750
3795
  # @return [String]
3751
3796
  #
3797
+ # @!attribute [rw] revalidation_job_ids
3798
+ # The list of pentest job identifiers for revalidation jobs that
3799
+ # retested this finding.
3800
+ # @return [Array<String>]
3801
+ #
3802
+ # @!attribute [rw] original_finding_id
3803
+ # The identifier of the original finding that this revalidation
3804
+ # finding was produced from.
3805
+ # @return [String]
3806
+ #
3752
3807
  # @!attribute [rw] created_at
3753
3808
  # The date and time the finding was created, in UTC format.
3754
3809
  # @return [Time]
@@ -3783,6 +3838,8 @@ module Aws::SecurityAgent
3783
3838
  :code_locations,
3784
3839
  :verification_script,
3785
3840
  :alignment_rationale,
3841
+ :revalidation_job_ids,
3842
+ :original_finding_id,
3786
3843
  :created_at,
3787
3844
  :updated_at)
3788
3845
  SENSITIVE = []
@@ -6109,6 +6166,13 @@ module Aws::SecurityAgent
6109
6166
  # include FINDING\_PERSONALIZATION and LOGIN\_OPTIMIZATION.
6110
6167
  # @return [Array<String>]
6111
6168
  #
6169
+ # @!attribute [rw] max_task_hours
6170
+ # The maximum number of billable task hours allowed for jobs started
6171
+ # from this pentest. If a job reaches the configured limit, it is
6172
+ # gracefully stopped. If not set, jobs run to completion with no
6173
+ # budget cap.
6174
+ # @return [Float]
6175
+ #
6112
6176
  # @!attribute [rw] created_at
6113
6177
  # The date and time the pentest was created, in UTC format.
6114
6178
  # @return [Time]
@@ -6132,6 +6196,7 @@ module Aws::SecurityAgent
6132
6196
  :code_remediation_strategy,
6133
6197
  :clean_up_strategy,
6134
6198
  :disable_managed_skills,
6199
+ :max_task_hours,
6135
6200
  :created_at,
6136
6201
  :updated_at)
6137
6202
  SENSITIVE = []
@@ -6236,6 +6301,21 @@ module Aws::SecurityAgent
6236
6301
  # include FINDING\_PERSONALIZATION and LOGIN\_OPTIMIZATION.
6237
6302
  # @return [Array<String>]
6238
6303
  #
6304
+ # @!attribute [rw] max_task_hours
6305
+ # The maximum number of billable task hours allowed for this pentest
6306
+ # job. If the cumulative task hours reach this limit, the job is
6307
+ # gracefully stopped.
6308
+ # @return [Float]
6309
+ #
6310
+ # @!attribute [rw] job_type
6311
+ # The type of the pentest job. Valid values are FULL and REVALIDATION.
6312
+ # @return [String]
6313
+ #
6314
+ # @!attribute [rw] selected_finding_ids
6315
+ # The list of finding identifiers selected for revalidation. Present
6316
+ # only when jobType is REVALIDATION.
6317
+ # @return [Array<String>]
6318
+ #
6239
6319
  # @!attribute [rw] created_at
6240
6320
  # The date and time the pentest job was created, in UTC format.
6241
6321
  # @return [Time]
@@ -6270,6 +6350,9 @@ module Aws::SecurityAgent
6270
6350
  :code_remediation_strategy,
6271
6351
  :clean_up_strategy,
6272
6352
  :disable_managed_skills,
6353
+ :max_task_hours,
6354
+ :job_type,
6355
+ :selected_finding_ids,
6273
6356
  :created_at,
6274
6357
  :updated_at)
6275
6358
  SENSITIVE = []
@@ -6913,11 +6996,25 @@ module Aws::SecurityAgent
6913
6996
  # The unique identifier of the pentest to start a job for.
6914
6997
  # @return [String]
6915
6998
  #
6999
+ # @!attribute [rw] job_type
7000
+ # The type of pentest job to start. Valid values are FULL and
7001
+ # REVALIDATION. When set to REVALIDATION, the selectedFindingIds
7002
+ # parameter is required.
7003
+ # @return [String]
7004
+ #
7005
+ # @!attribute [rw] selected_finding_ids
7006
+ # The list of finding identifiers to revalidate. Required when jobType
7007
+ # is REVALIDATION. Each finding must belong to the same agent space
7008
+ # and pentest.
7009
+ # @return [Array<String>]
7010
+ #
6916
7011
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/StartPentestJobInput AWS API Documentation
6917
7012
  #
6918
7013
  class StartPentestJobInput < Struct.new(
6919
7014
  :agent_space_id,
6920
- :pentest_id)
7015
+ :pentest_id,
7016
+ :job_type,
7017
+ :selected_finding_ids)
6921
7018
  SENSITIVE = []
6922
7019
  include Aws::Structure
6923
7020
  end
@@ -8149,6 +8246,11 @@ module Aws::SecurityAgent
8149
8246
  # SIMULATED and DISABLED.
8150
8247
  # @return [String]
8151
8248
  #
8249
+ # @!attribute [rw] max_task_hours
8250
+ # The updated maximum number of billable task hours allowed for jobs
8251
+ # started from this code review.
8252
+ # @return [Float]
8253
+ #
8152
8254
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/UpdateCodeReviewInput AWS API Documentation
8153
8255
  #
8154
8256
  class UpdateCodeReviewInput < Struct.new(
@@ -8159,7 +8261,8 @@ module Aws::SecurityAgent
8159
8261
  :service_role,
8160
8262
  :log_config,
8161
8263
  :code_remediation_strategy,
8162
- :validation_mode)
8264
+ :validation_mode,
8265
+ :max_task_hours)
8163
8266
  SENSITIVE = []
8164
8267
  include Aws::Structure
8165
8268
  end
@@ -8207,6 +8310,11 @@ module Aws::SecurityAgent
8207
8310
  # The validation mode for the code review.
8208
8311
  # @return [String]
8209
8312
  #
8313
+ # @!attribute [rw] max_task_hours
8314
+ # The maximum number of billable task hours configured for jobs
8315
+ # started from this code review. Null if no budget cap is set.
8316
+ # @return [Float]
8317
+ #
8210
8318
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/UpdateCodeReviewOutput AWS API Documentation
8211
8319
  #
8212
8320
  class UpdateCodeReviewOutput < Struct.new(
@@ -8219,7 +8327,8 @@ module Aws::SecurityAgent
8219
8327
  :log_config,
8220
8328
  :agent_space_id,
8221
8329
  :code_remediation_strategy,
8222
- :validation_mode)
8330
+ :validation_mode,
8331
+ :max_task_hours)
8223
8332
  SENSITIVE = []
8224
8333
  include Aws::Structure
8225
8334
  end
@@ -8368,6 +8477,11 @@ module Aws::SecurityAgent
8368
8477
  # LOGIN\_OPTIMIZATION.
8369
8478
  # @return [Array<String>]
8370
8479
  #
8480
+ # @!attribute [rw] max_task_hours
8481
+ # The updated maximum number of billable task hours allowed for jobs
8482
+ # started from this pentest.
8483
+ # @return [Float]
8484
+ #
8371
8485
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/UpdatePentestInput AWS API Documentation
8372
8486
  #
8373
8487
  class UpdatePentestInput < Struct.new(
@@ -8381,7 +8495,8 @@ module Aws::SecurityAgent
8381
8495
  :vpc_config,
8382
8496
  :network_traffic_config,
8383
8497
  :code_remediation_strategy,
8384
- :disable_managed_skills)
8498
+ :disable_managed_skills,
8499
+ :max_task_hours)
8385
8500
  SENSITIVE = []
8386
8501
  include Aws::Structure
8387
8502
  end
@@ -55,7 +55,7 @@ module Aws::SecurityAgent
55
55
  autoload :EndpointProvider, 'aws-sdk-securityagent/endpoint_provider'
56
56
  autoload :Endpoints, 'aws-sdk-securityagent/endpoints'
57
57
 
58
- GEM_VERSION = '1.10.0'
58
+ GEM_VERSION = '1.12.0'
59
59
 
60
60
  end
61
61
 
data/sig/client.rbs CHANGED
@@ -408,6 +408,7 @@ module Aws
408
408
  def agent_space_id: () -> ::String
409
409
  def code_remediation_strategy: () -> ("AUTOMATIC" | "DISABLED")
410
410
  def validation_mode: () -> ("DISABLED" | "SIMULATED")
411
+ def max_task_hours: () -> ::Float
411
412
  end
412
413
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SecurityAgent/Client.html#create_code_review-instance_method
413
414
  def create_code_review: (
@@ -420,7 +421,8 @@ module Aws
420
421
  log_stream: ::String?
421
422
  },
422
423
  ?code_remediation_strategy: ("AUTOMATIC" | "DISABLED"),
423
- ?validation_mode: ("DISABLED" | "SIMULATED")
424
+ ?validation_mode: ("DISABLED" | "SIMULATED"),
425
+ ?max_task_hours: ::Float
424
426
  ) -> _CreateCodeReviewResponseSuccess
425
427
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreateCodeReviewResponseSuccess
426
428
 
@@ -512,7 +514,8 @@ module Aws
512
514
  },
513
515
  ?network_traffic_config: Params::network_traffic_config,
514
516
  ?code_remediation_strategy: ("AUTOMATIC" | "DISABLED"),
515
- ?disable_managed_skills: Array[("FINDING_PERSONALIZATION" | "LOGIN_OPTIMIZATION")]
517
+ ?disable_managed_skills: Array[("FINDING_PERSONALIZATION" | "LOGIN_OPTIMIZATION")],
518
+ ?max_task_hours: ::Float
516
519
  ) -> _CreatePentestResponseSuccess
517
520
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _CreatePentestResponseSuccess
518
521
 
@@ -1248,7 +1251,9 @@ module Aws
1248
1251
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SecurityAgent/Client.html#start_pentest_job-instance_method
1249
1252
  def start_pentest_job: (
1250
1253
  agent_space_id: ::String,
1251
- pentest_id: ::String
1254
+ pentest_id: ::String,
1255
+ ?job_type: ("FULL" | "REVALIDATION"),
1256
+ ?selected_finding_ids: Array[::String]
1252
1257
  ) -> _StartPentestJobResponseSuccess
1253
1258
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _StartPentestJobResponseSuccess
1254
1259
 
@@ -1368,6 +1373,7 @@ module Aws
1368
1373
  def agent_space_id: () -> ::String
1369
1374
  def code_remediation_strategy: () -> ("AUTOMATIC" | "DISABLED")
1370
1375
  def validation_mode: () -> ("DISABLED" | "SIMULATED")
1376
+ def max_task_hours: () -> ::Float
1371
1377
  end
1372
1378
  # https://docs.aws.amazon.com/sdk-for-ruby/v3/api/Aws/SecurityAgent/Client.html#update_code_review-instance_method
1373
1379
  def update_code_review: (
@@ -1381,7 +1387,8 @@ module Aws
1381
1387
  log_stream: ::String?
1382
1388
  },
1383
1389
  ?code_remediation_strategy: ("AUTOMATIC" | "DISABLED"),
1384
- ?validation_mode: ("DISABLED" | "SIMULATED")
1390
+ ?validation_mode: ("DISABLED" | "SIMULATED"),
1391
+ ?max_task_hours: ::Float
1385
1392
  ) -> _UpdateCodeReviewResponseSuccess
1386
1393
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdateCodeReviewResponseSuccess
1387
1394
 
@@ -1489,7 +1496,8 @@ module Aws
1489
1496
  },
1490
1497
  ?network_traffic_config: Params::network_traffic_config,
1491
1498
  ?code_remediation_strategy: ("AUTOMATIC" | "DISABLED"),
1492
- ?disable_managed_skills: Array[("FINDING_PERSONALIZATION" | "LOGIN_OPTIMIZATION")]
1499
+ ?disable_managed_skills: Array[("FINDING_PERSONALIZATION" | "LOGIN_OPTIMIZATION")],
1500
+ ?max_task_hours: ::Float
1493
1501
  ) -> _UpdatePentestResponseSuccess
1494
1502
  | (Hash[Symbol, untyped] params, ?Hash[Symbol, untyped] options) -> _UpdatePentestResponseSuccess
1495
1503
 
data/sig/params.rbs CHANGED
@@ -56,7 +56,9 @@ module Aws
56
56
  provider_type: ("SECRETS_MANAGER" | "AWS_LAMBDA" | "AWS_IAM_ROLE" | "AWS_INTERNAL")?,
57
57
  value: ::String?
58
58
  }?,
59
- description: ::String?
59
+ description: ::String?,
60
+ enable_email_mfa: bool?,
61
+ mfa_forwarding_address: ::String?
60
62
  }
61
63
 
62
64
  type document_info = {
data/sig/types.rbs CHANGED
@@ -28,7 +28,9 @@ module Aws::SecurityAgent
28
28
  attr_accessor uris: ::Array[::String]
29
29
  attr_accessor authentication: Types::Authentication
30
30
  attr_accessor description: ::String
31
- SENSITIVE: []
31
+ attr_accessor enable_email_mfa: bool
32
+ attr_accessor mfa_forwarding_address: ::String
33
+ SENSITIVE: [:mfa_forwarding_address]
32
34
  end
33
35
 
34
36
  class AddArtifactInput
@@ -460,6 +462,7 @@ module Aws::SecurityAgent
460
462
  attr_accessor log_config: Types::CloudWatchLog
461
463
  attr_accessor code_remediation_strategy: ("AUTOMATIC" | "DISABLED")
462
464
  attr_accessor validation_mode: ("DISABLED" | "SIMULATED")
465
+ attr_accessor max_task_hours: ::Float
463
466
  attr_accessor created_at: ::Time
464
467
  attr_accessor updated_at: ::Time
465
468
  SENSITIVE: []
@@ -480,6 +483,7 @@ module Aws::SecurityAgent
480
483
  attr_accessor error_information: Types::ErrorInformation
481
484
  attr_accessor integrated_repositories: ::Array[Types::IntegratedRepository]
482
485
  attr_accessor code_remediation_strategy: ("AUTOMATIC" | "DISABLED")
486
+ attr_accessor max_task_hours: ::Float
483
487
  attr_accessor created_at: ::Time
484
488
  attr_accessor updated_at: ::Time
485
489
  SENSITIVE: []
@@ -623,6 +627,7 @@ module Aws::SecurityAgent
623
627
  attr_accessor log_config: Types::CloudWatchLog
624
628
  attr_accessor code_remediation_strategy: ("AUTOMATIC" | "DISABLED")
625
629
  attr_accessor validation_mode: ("DISABLED" | "SIMULATED")
630
+ attr_accessor max_task_hours: ::Float
626
631
  SENSITIVE: []
627
632
  end
628
633
 
@@ -637,6 +642,7 @@ module Aws::SecurityAgent
637
642
  attr_accessor agent_space_id: ::String
638
643
  attr_accessor code_remediation_strategy: ("AUTOMATIC" | "DISABLED")
639
644
  attr_accessor validation_mode: ("DISABLED" | "SIMULATED")
645
+ attr_accessor max_task_hours: ::Float
640
646
  SENSITIVE: []
641
647
  end
642
648
 
@@ -678,6 +684,7 @@ module Aws::SecurityAgent
678
684
  attr_accessor network_traffic_config: Types::NetworkTrafficConfig
679
685
  attr_accessor code_remediation_strategy: ("AUTOMATIC" | "DISABLED")
680
686
  attr_accessor disable_managed_skills: ::Array[("FINDING_PERSONALIZATION" | "LOGIN_OPTIMIZATION")]
687
+ attr_accessor max_task_hours: ::Float
681
688
  SENSITIVE: []
682
689
  end
683
690
 
@@ -1033,6 +1040,8 @@ module Aws::SecurityAgent
1033
1040
  attr_accessor code_locations: ::Array[Types::CodeLocation]
1034
1041
  attr_accessor verification_script: Types::VerificationScript
1035
1042
  attr_accessor alignment_rationale: ::String
1043
+ attr_accessor revalidation_job_ids: ::Array[::String]
1044
+ attr_accessor original_finding_id: ::String
1036
1045
  attr_accessor created_at: ::Time
1037
1046
  attr_accessor updated_at: ::Time
1038
1047
  SENSITIVE: []
@@ -1711,6 +1720,7 @@ module Aws::SecurityAgent
1711
1720
  attr_accessor code_remediation_strategy: ("AUTOMATIC" | "DISABLED")
1712
1721
  attr_accessor clean_up_strategy: ("BEST_EFFORT_DELETE" | "RETAIN_ALL")
1713
1722
  attr_accessor disable_managed_skills: ::Array[("FINDING_PERSONALIZATION" | "LOGIN_OPTIMIZATION")]
1723
+ attr_accessor max_task_hours: ::Float
1714
1724
  attr_accessor created_at: ::Time
1715
1725
  attr_accessor updated_at: ::Time
1716
1726
  SENSITIVE: []
@@ -1740,6 +1750,9 @@ module Aws::SecurityAgent
1740
1750
  attr_accessor code_remediation_strategy: ("AUTOMATIC" | "DISABLED")
1741
1751
  attr_accessor clean_up_strategy: ("BEST_EFFORT_DELETE" | "RETAIN_ALL")
1742
1752
  attr_accessor disable_managed_skills: ::Array[("FINDING_PERSONALIZATION" | "LOGIN_OPTIMIZATION")]
1753
+ attr_accessor max_task_hours: ::Float
1754
+ attr_accessor job_type: ("FULL" | "REVALIDATION")
1755
+ attr_accessor selected_finding_ids: ::Array[::String]
1743
1756
  attr_accessor created_at: ::Time
1744
1757
  attr_accessor updated_at: ::Time
1745
1758
  SENSITIVE: []
@@ -1935,6 +1948,8 @@ module Aws::SecurityAgent
1935
1948
  class StartPentestJobInput
1936
1949
  attr_accessor agent_space_id: ::String
1937
1950
  attr_accessor pentest_id: ::String
1951
+ attr_accessor job_type: ("FULL" | "REVALIDATION")
1952
+ attr_accessor selected_finding_ids: ::Array[::String]
1938
1953
  SENSITIVE: []
1939
1954
  end
1940
1955
 
@@ -2251,6 +2266,7 @@ module Aws::SecurityAgent
2251
2266
  attr_accessor log_config: Types::CloudWatchLog
2252
2267
  attr_accessor code_remediation_strategy: ("AUTOMATIC" | "DISABLED")
2253
2268
  attr_accessor validation_mode: ("DISABLED" | "SIMULATED")
2269
+ attr_accessor max_task_hours: ::Float
2254
2270
  SENSITIVE: []
2255
2271
  end
2256
2272
 
@@ -2265,6 +2281,7 @@ module Aws::SecurityAgent
2265
2281
  attr_accessor agent_space_id: ::String
2266
2282
  attr_accessor code_remediation_strategy: ("AUTOMATIC" | "DISABLED")
2267
2283
  attr_accessor validation_mode: ("DISABLED" | "SIMULATED")
2284
+ attr_accessor max_task_hours: ::Float
2268
2285
  SENSITIVE: []
2269
2286
  end
2270
2287
 
@@ -2308,6 +2325,7 @@ module Aws::SecurityAgent
2308
2325
  attr_accessor network_traffic_config: Types::NetworkTrafficConfig
2309
2326
  attr_accessor code_remediation_strategy: ("AUTOMATIC" | "DISABLED")
2310
2327
  attr_accessor disable_managed_skills: ::Array[("FINDING_PERSONALIZATION" | "LOGIN_OPTIMIZATION")]
2328
+ attr_accessor max_task_hours: ::Float
2311
2329
  SENSITIVE: []
2312
2330
  end
2313
2331
 
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-securityagent
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.0
4
+ version: 1.12.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services