aws-sdk-securityagent 1.1.0 → 1.2.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.
@@ -519,6 +519,44 @@ module Aws::SecurityAgent
519
519
  req.send_request(options)
520
520
  end
521
521
 
522
+ # Deletes one or more code reviews from an agent space.
523
+ #
524
+ # @option params [required, Array<String>] :code_review_ids
525
+ # The list of code review identifiers to delete.
526
+ #
527
+ # @option params [required, String] :agent_space_id
528
+ # The unique identifier of the agent space that contains the code
529
+ # reviews to delete.
530
+ #
531
+ # @return [Types::BatchDeleteCodeReviewsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
532
+ #
533
+ # * {Types::BatchDeleteCodeReviewsOutput#deleted #deleted} => Array&lt;String&gt;
534
+ # * {Types::BatchDeleteCodeReviewsOutput#failed #failed} => Array&lt;Types::DeleteCodeReviewFailure&gt;
535
+ #
536
+ # @example Request syntax with placeholder values
537
+ #
538
+ # resp = client.batch_delete_code_reviews({
539
+ # code_review_ids: ["String"], # required
540
+ # agent_space_id: "String", # required
541
+ # })
542
+ #
543
+ # @example Response structure
544
+ #
545
+ # resp.deleted #=> Array
546
+ # resp.deleted[0] #=> String
547
+ # resp.failed #=> Array
548
+ # resp.failed[0].code_review_id #=> String
549
+ # resp.failed[0].reason #=> String
550
+ #
551
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/BatchDeleteCodeReviews AWS API Documentation
552
+ #
553
+ # @overload batch_delete_code_reviews(params = {})
554
+ # @param [Hash] params ({})
555
+ def batch_delete_code_reviews(params = {}, options = {})
556
+ req = build_request(:batch_delete_code_reviews, params)
557
+ req.send_request(options)
558
+ end
559
+
522
560
  # Deletes one or more pentests from an agent space.
523
561
  #
524
562
  # @option params [required, Array<String>] :pentest_ids
@@ -689,6 +727,188 @@ module Aws::SecurityAgent
689
727
  req.send_request(options)
690
728
  end
691
729
 
730
+ # Retrieves information about one or more tasks within a code review
731
+ # job.
732
+ #
733
+ # @option params [required, String] :agent_space_id
734
+ # The unique identifier of the agent space that contains the tasks.
735
+ #
736
+ # @option params [required, Array<String>] :code_review_job_task_ids
737
+ # The list of task identifiers to retrieve.
738
+ #
739
+ # @return [Types::BatchGetCodeReviewJobTasksOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
740
+ #
741
+ # * {Types::BatchGetCodeReviewJobTasksOutput#code_review_job_tasks #code_review_job_tasks} => Array&lt;Types::CodeReviewJobTask&gt;
742
+ # * {Types::BatchGetCodeReviewJobTasksOutput#not_found #not_found} => Array&lt;String&gt;
743
+ #
744
+ # @example Request syntax with placeholder values
745
+ #
746
+ # resp = client.batch_get_code_review_job_tasks({
747
+ # agent_space_id: "String", # required
748
+ # code_review_job_task_ids: ["String"], # required
749
+ # })
750
+ #
751
+ # @example Response structure
752
+ #
753
+ # resp.code_review_job_tasks #=> Array
754
+ # resp.code_review_job_tasks[0].task_id #=> String
755
+ # resp.code_review_job_tasks[0].code_review_id #=> String
756
+ # resp.code_review_job_tasks[0].code_review_job_id #=> String
757
+ # resp.code_review_job_tasks[0].agent_space_id #=> String
758
+ # resp.code_review_job_tasks[0].title #=> String
759
+ # resp.code_review_job_tasks[0].description #=> String
760
+ # resp.code_review_job_tasks[0].categories #=> Array
761
+ # resp.code_review_job_tasks[0].categories[0].name #=> String
762
+ # resp.code_review_job_tasks[0].categories[0].is_primary #=> Boolean
763
+ # resp.code_review_job_tasks[0].risk_type #=> String, one of "CROSS_SITE_SCRIPTING", "DEFAULT_CREDENTIALS", "INSECURE_DIRECT_OBJECT_REFERENCE", "PRIVILEGE_ESCALATION", "SERVER_SIDE_TEMPLATE_INJECTION", "COMMAND_INJECTION", "CODE_INJECTION", "SQL_INJECTION", "ARBITRARY_FILE_UPLOAD", "INSECURE_DESERIALIZATION", "LOCAL_FILE_INCLUSION", "INFORMATION_DISCLOSURE", "PATH_TRAVERSAL", "SERVER_SIDE_REQUEST_FORGERY", "JSON_WEB_TOKEN_VULNERABILITIES", "XML_EXTERNAL_ENTITY", "FILE_DELETION", "OTHER", "GRAPHQL_VULNERABILITIES", "BUSINESS_LOGIC_VULNERABILITIES", "CRYPTOGRAPHIC_VULNERABILITIES", "DENIAL_OF_SERVICE", "FILE_ACCESS", "FILE_CREATION", "DATABASE_MODIFICATION", "DATABASE_ACCESS", "OUTBOUND_SERVICE_REQUEST", "UNKNOWN"
764
+ # resp.code_review_job_tasks[0].execution_status #=> String, one of "IN_PROGRESS", "ABORTED", "COMPLETED", "INTERNAL_ERROR", "FAILED"
765
+ # resp.code_review_job_tasks[0].logs_location.log_type #=> String, one of "CLOUDWATCH"
766
+ # resp.code_review_job_tasks[0].logs_location.cloud_watch_log.log_group #=> String
767
+ # resp.code_review_job_tasks[0].logs_location.cloud_watch_log.log_stream #=> String
768
+ # resp.code_review_job_tasks[0].created_at #=> Time
769
+ # resp.code_review_job_tasks[0].updated_at #=> Time
770
+ # resp.not_found #=> Array
771
+ # resp.not_found[0] #=> String
772
+ #
773
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/BatchGetCodeReviewJobTasks AWS API Documentation
774
+ #
775
+ # @overload batch_get_code_review_job_tasks(params = {})
776
+ # @param [Hash] params ({})
777
+ def batch_get_code_review_job_tasks(params = {}, options = {})
778
+ req = build_request(:batch_get_code_review_job_tasks, params)
779
+ req.send_request(options)
780
+ end
781
+
782
+ # Retrieves information about one or more code review jobs in an agent
783
+ # space.
784
+ #
785
+ # @option params [required, Array<String>] :code_review_job_ids
786
+ # The list of code review job identifiers to retrieve.
787
+ #
788
+ # @option params [required, String] :agent_space_id
789
+ # The unique identifier of the agent space that contains the code review
790
+ # jobs.
791
+ #
792
+ # @return [Types::BatchGetCodeReviewJobsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
793
+ #
794
+ # * {Types::BatchGetCodeReviewJobsOutput#code_review_jobs #code_review_jobs} => Array&lt;Types::CodeReviewJob&gt;
795
+ # * {Types::BatchGetCodeReviewJobsOutput#not_found #not_found} => Array&lt;String&gt;
796
+ #
797
+ # @example Request syntax with placeholder values
798
+ #
799
+ # resp = client.batch_get_code_review_jobs({
800
+ # code_review_job_ids: ["String"], # required
801
+ # agent_space_id: "String", # required
802
+ # })
803
+ #
804
+ # @example Response structure
805
+ #
806
+ # resp.code_review_jobs #=> Array
807
+ # resp.code_review_jobs[0].code_review_job_id #=> String
808
+ # resp.code_review_jobs[0].code_review_id #=> String
809
+ # resp.code_review_jobs[0].title #=> String
810
+ # resp.code_review_jobs[0].overview #=> String
811
+ # resp.code_review_jobs[0].status #=> String, one of "IN_PROGRESS", "STOPPING", "STOPPED", "FAILED", "COMPLETED"
812
+ # resp.code_review_jobs[0].documents #=> Array
813
+ # resp.code_review_jobs[0].documents[0].s3_location #=> String
814
+ # resp.code_review_jobs[0].documents[0].artifact_id #=> String
815
+ # resp.code_review_jobs[0].source_code #=> Array
816
+ # resp.code_review_jobs[0].source_code[0].s3_location #=> String
817
+ # resp.code_review_jobs[0].steps #=> Array
818
+ # resp.code_review_jobs[0].steps[0].name #=> String, one of "PREFLIGHT", "STATIC_ANALYSIS", "PENTEST", "FINALIZING"
819
+ # resp.code_review_jobs[0].steps[0].status #=> String, one of "NOT_STARTED", "IN_PROGRESS", "COMPLETED", "FAILED", "STOPPED"
820
+ # resp.code_review_jobs[0].steps[0].created_at #=> Time
821
+ # resp.code_review_jobs[0].steps[0].updated_at #=> Time
822
+ # resp.code_review_jobs[0].execution_context #=> Array
823
+ # resp.code_review_jobs[0].execution_context[0].context_type #=> String, one of "ERROR", "CLIENT_ERROR", "WARNING", "INFO"
824
+ # resp.code_review_jobs[0].execution_context[0].context #=> String
825
+ # resp.code_review_jobs[0].execution_context[0].timestamp #=> Time
826
+ # resp.code_review_jobs[0].service_role #=> String
827
+ # resp.code_review_jobs[0].log_config.log_group #=> String
828
+ # resp.code_review_jobs[0].log_config.log_stream #=> String
829
+ # resp.code_review_jobs[0].error_information.code #=> String, one of "CLIENT_ERROR", "INTERNAL_ERROR", "STOPPED_BY_USER"
830
+ # resp.code_review_jobs[0].error_information.message #=> String
831
+ # resp.code_review_jobs[0].integrated_repositories #=> Array
832
+ # resp.code_review_jobs[0].integrated_repositories[0].integration_id #=> String
833
+ # resp.code_review_jobs[0].integrated_repositories[0].provider_resource_id #=> String
834
+ # resp.code_review_jobs[0].code_remediation_strategy #=> String, one of "AUTOMATIC", "DISABLED"
835
+ # resp.code_review_jobs[0].created_at #=> Time
836
+ # resp.code_review_jobs[0].updated_at #=> Time
837
+ # resp.not_found #=> Array
838
+ # resp.not_found[0] #=> String
839
+ #
840
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/BatchGetCodeReviewJobs AWS API Documentation
841
+ #
842
+ # @overload batch_get_code_review_jobs(params = {})
843
+ # @param [Hash] params ({})
844
+ def batch_get_code_review_jobs(params = {}, options = {})
845
+ req = build_request(:batch_get_code_review_jobs, params)
846
+ req.send_request(options)
847
+ end
848
+
849
+ # Retrieves information about one or more code reviews in an agent
850
+ # space.
851
+ #
852
+ # @option params [required, Array<String>] :code_review_ids
853
+ # The list of code review identifiers to retrieve.
854
+ #
855
+ # @option params [required, String] :agent_space_id
856
+ # The unique identifier of the agent space that contains the code
857
+ # reviews.
858
+ #
859
+ # @return [Types::BatchGetCodeReviewsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
860
+ #
861
+ # * {Types::BatchGetCodeReviewsOutput#code_reviews #code_reviews} => Array&lt;Types::CodeReview&gt;
862
+ # * {Types::BatchGetCodeReviewsOutput#not_found #not_found} => Array&lt;String&gt;
863
+ #
864
+ # @example Request syntax with placeholder values
865
+ #
866
+ # resp = client.batch_get_code_reviews({
867
+ # code_review_ids: ["String"], # required
868
+ # agent_space_id: "String", # required
869
+ # })
870
+ #
871
+ # @example Response structure
872
+ #
873
+ # resp.code_reviews #=> Array
874
+ # resp.code_reviews[0].code_review_id #=> String
875
+ # resp.code_reviews[0].agent_space_id #=> String
876
+ # resp.code_reviews[0].title #=> String
877
+ # resp.code_reviews[0].assets.endpoints #=> Array
878
+ # resp.code_reviews[0].assets.endpoints[0].uri #=> String
879
+ # resp.code_reviews[0].assets.actors #=> Array
880
+ # resp.code_reviews[0].assets.actors[0].identifier #=> String
881
+ # resp.code_reviews[0].assets.actors[0].uris #=> Array
882
+ # resp.code_reviews[0].assets.actors[0].uris[0] #=> String
883
+ # resp.code_reviews[0].assets.actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
884
+ # resp.code_reviews[0].assets.actors[0].authentication.value #=> String
885
+ # resp.code_reviews[0].assets.actors[0].description #=> String
886
+ # resp.code_reviews[0].assets.documents #=> Array
887
+ # resp.code_reviews[0].assets.documents[0].s3_location #=> String
888
+ # resp.code_reviews[0].assets.documents[0].artifact_id #=> String
889
+ # resp.code_reviews[0].assets.source_code #=> Array
890
+ # resp.code_reviews[0].assets.source_code[0].s3_location #=> String
891
+ # resp.code_reviews[0].assets.integrated_repositories #=> Array
892
+ # resp.code_reviews[0].assets.integrated_repositories[0].integration_id #=> String
893
+ # resp.code_reviews[0].assets.integrated_repositories[0].provider_resource_id #=> String
894
+ # resp.code_reviews[0].service_role #=> String
895
+ # resp.code_reviews[0].log_config.log_group #=> String
896
+ # resp.code_reviews[0].log_config.log_stream #=> String
897
+ # resp.code_reviews[0].code_remediation_strategy #=> String, one of "AUTOMATIC", "DISABLED"
898
+ # resp.code_reviews[0].created_at #=> Time
899
+ # resp.code_reviews[0].updated_at #=> Time
900
+ # resp.not_found #=> Array
901
+ # resp.not_found[0] #=> String
902
+ #
903
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/BatchGetCodeReviews AWS API Documentation
904
+ #
905
+ # @overload batch_get_code_reviews(params = {})
906
+ # @param [Hash] params ({})
907
+ def batch_get_code_reviews(params = {}, options = {})
908
+ req = build_request(:batch_get_code_reviews, params)
909
+ req.send_request(options)
910
+ end
911
+
692
912
  # Retrieves information about one or more security findings in an agent
693
913
  # space.
694
914
  #
@@ -717,6 +937,8 @@ module Aws::SecurityAgent
717
937
  # resp.findings[0].agent_space_id #=> String
718
938
  # resp.findings[0].pentest_id #=> String
719
939
  # resp.findings[0].pentest_job_id #=> String
940
+ # resp.findings[0].code_review_id #=> String
941
+ # resp.findings[0].code_review_job_id #=> String
720
942
  # resp.findings[0].task_id #=> String
721
943
  # resp.findings[0].name #=> String
722
944
  # resp.findings[0].description #=> String
@@ -734,6 +956,11 @@ module Aws::SecurityAgent
734
956
  # resp.findings[0].code_remediation_task.task_details[0].code_diff_link #=> String
735
957
  # resp.findings[0].code_remediation_task.task_details[0].pull_request_link #=> String
736
958
  # resp.findings[0].last_updated_by #=> String
959
+ # resp.findings[0].code_locations #=> Array
960
+ # resp.findings[0].code_locations[0].file_path #=> String
961
+ # resp.findings[0].code_locations[0].line_start #=> Integer
962
+ # resp.findings[0].code_locations[0].line_end #=> Integer
963
+ # resp.findings[0].code_locations[0].label #=> String
737
964
  # resp.findings[0].created_at #=> Time
738
965
  # resp.findings[0].updated_at #=> Time
739
966
  # resp.not_found #=> Array
@@ -1164,6 +1391,128 @@ module Aws::SecurityAgent
1164
1391
  req.send_request(options)
1165
1392
  end
1166
1393
 
1394
+ # Creates a new code review configuration in an agent space. A code
1395
+ # review defines the parameters for automated security-focused code
1396
+ # analysis.
1397
+ #
1398
+ # @option params [required, String] :title
1399
+ # The title of the code review.
1400
+ #
1401
+ # @option params [required, String] :agent_space_id
1402
+ # The unique identifier of the agent space to create the code review in.
1403
+ #
1404
+ # @option params [required, Types::Assets] :assets
1405
+ # The assets to include in the code review, such as documents and source
1406
+ # code.
1407
+ #
1408
+ # @option params [String] :service_role
1409
+ # The IAM service role to use for the code review.
1410
+ #
1411
+ # @option params [Types::CloudWatchLog] :log_config
1412
+ # The CloudWatch Logs configuration for the code review.
1413
+ #
1414
+ # @option params [String] :code_remediation_strategy
1415
+ # The code remediation strategy for the code review. Valid values are
1416
+ # AUTOMATIC and DISABLED.
1417
+ #
1418
+ # @return [Types::CreateCodeReviewOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1419
+ #
1420
+ # * {Types::CreateCodeReviewOutput#code_review_id #code_review_id} => String
1421
+ # * {Types::CreateCodeReviewOutput#title #title} => String
1422
+ # * {Types::CreateCodeReviewOutput#created_at #created_at} => Time
1423
+ # * {Types::CreateCodeReviewOutput#updated_at #updated_at} => Time
1424
+ # * {Types::CreateCodeReviewOutput#assets #assets} => Types::Assets
1425
+ # * {Types::CreateCodeReviewOutput#service_role #service_role} => String
1426
+ # * {Types::CreateCodeReviewOutput#log_config #log_config} => Types::CloudWatchLog
1427
+ # * {Types::CreateCodeReviewOutput#agent_space_id #agent_space_id} => String
1428
+ # * {Types::CreateCodeReviewOutput#code_remediation_strategy #code_remediation_strategy} => String
1429
+ #
1430
+ # @example Request syntax with placeholder values
1431
+ #
1432
+ # resp = client.create_code_review({
1433
+ # title: "String", # required
1434
+ # agent_space_id: "String", # required
1435
+ # assets: { # required
1436
+ # endpoints: [
1437
+ # {
1438
+ # uri: "String",
1439
+ # },
1440
+ # ],
1441
+ # actors: [
1442
+ # {
1443
+ # identifier: "String",
1444
+ # uris: ["String"],
1445
+ # authentication: {
1446
+ # provider_type: "SECRETS_MANAGER", # accepts SECRETS_MANAGER, AWS_LAMBDA, AWS_IAM_ROLE, AWS_INTERNAL
1447
+ # value: "String",
1448
+ # },
1449
+ # description: "String",
1450
+ # },
1451
+ # ],
1452
+ # documents: [
1453
+ # {
1454
+ # s3_location: "String",
1455
+ # artifact_id: "String",
1456
+ # },
1457
+ # ],
1458
+ # source_code: [
1459
+ # {
1460
+ # s3_location: "String",
1461
+ # },
1462
+ # ],
1463
+ # integrated_repositories: [
1464
+ # {
1465
+ # integration_id: "String", # required
1466
+ # provider_resource_id: "String", # required
1467
+ # },
1468
+ # ],
1469
+ # },
1470
+ # service_role: "ServiceRole",
1471
+ # log_config: {
1472
+ # log_group: "String",
1473
+ # log_stream: "String",
1474
+ # },
1475
+ # code_remediation_strategy: "AUTOMATIC", # accepts AUTOMATIC, DISABLED
1476
+ # })
1477
+ #
1478
+ # @example Response structure
1479
+ #
1480
+ # resp.code_review_id #=> String
1481
+ # resp.title #=> String
1482
+ # resp.created_at #=> Time
1483
+ # resp.updated_at #=> Time
1484
+ # resp.assets.endpoints #=> Array
1485
+ # resp.assets.endpoints[0].uri #=> String
1486
+ # resp.assets.actors #=> Array
1487
+ # resp.assets.actors[0].identifier #=> String
1488
+ # resp.assets.actors[0].uris #=> Array
1489
+ # resp.assets.actors[0].uris[0] #=> String
1490
+ # resp.assets.actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
1491
+ # resp.assets.actors[0].authentication.value #=> String
1492
+ # resp.assets.actors[0].description #=> String
1493
+ # resp.assets.documents #=> Array
1494
+ # resp.assets.documents[0].s3_location #=> String
1495
+ # resp.assets.documents[0].artifact_id #=> String
1496
+ # resp.assets.source_code #=> Array
1497
+ # resp.assets.source_code[0].s3_location #=> String
1498
+ # resp.assets.integrated_repositories #=> Array
1499
+ # resp.assets.integrated_repositories[0].integration_id #=> String
1500
+ # resp.assets.integrated_repositories[0].provider_resource_id #=> String
1501
+ # resp.service_role #=> String
1502
+ # resp.log_config.log_group #=> String
1503
+ # resp.log_config.log_stream #=> String
1504
+ # resp.agent_space_id #=> String
1505
+ # resp.code_remediation_strategy #=> String, one of "AUTOMATIC", "DISABLED"
1506
+ #
1507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/CreateCodeReview AWS API Documentation
1508
+ #
1509
+ # @overload create_code_review(params = {})
1510
+ # @param [Hash] params ({})
1511
+ def create_code_review(params = {}, options = {})
1512
+ req = build_request(:create_code_review, params)
1513
+ req.send_request(options)
1514
+ end
1515
+
1167
1516
  # Creates a new integration with a third-party provider, such as GitHub,
1168
1517
  # for code review and remediation.
1169
1518
  #
@@ -1922,6 +2271,174 @@ module Aws::SecurityAgent
1922
2271
  req.send_request(options)
1923
2272
  end
1924
2273
 
2274
+ # Returns a paginated list of task summaries for the specified code
2275
+ # review job, optionally filtered by step name or category.
2276
+ #
2277
+ # @option params [required, String] :agent_space_id
2278
+ # The unique identifier of the agent space.
2279
+ #
2280
+ # @option params [Integer] :max_results
2281
+ # The maximum number of results to return in a single call.
2282
+ #
2283
+ # @option params [String] :code_review_job_id
2284
+ # The unique identifier of the code review job to list tasks for.
2285
+ #
2286
+ # @option params [String] :step_name
2287
+ # Filter tasks by step name.
2288
+ #
2289
+ # @option params [String] :category_name
2290
+ # Filter tasks by category name.
2291
+ #
2292
+ # @option params [String] :next_token
2293
+ # A token to use for paginating results that are returned in the
2294
+ # response. Set the value of this parameter to null for the first
2295
+ # request. For subsequent calls, use the nextToken value returned from
2296
+ # the previous request.
2297
+ #
2298
+ # @return [Types::ListCodeReviewJobTasksOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2299
+ #
2300
+ # * {Types::ListCodeReviewJobTasksOutput#code_review_job_task_summaries #code_review_job_task_summaries} => Array&lt;Types::CodeReviewJobTaskSummary&gt;
2301
+ # * {Types::ListCodeReviewJobTasksOutput#next_token #next_token} => String
2302
+ #
2303
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2304
+ #
2305
+ # @example Request syntax with placeholder values
2306
+ #
2307
+ # resp = client.list_code_review_job_tasks({
2308
+ # agent_space_id: "String", # required
2309
+ # max_results: 1,
2310
+ # code_review_job_id: "String",
2311
+ # step_name: "PREFLIGHT", # accepts PREFLIGHT, STATIC_ANALYSIS, PENTEST, FINALIZING
2312
+ # category_name: "String",
2313
+ # next_token: "NextToken",
2314
+ # })
2315
+ #
2316
+ # @example Response structure
2317
+ #
2318
+ # resp.code_review_job_task_summaries #=> Array
2319
+ # resp.code_review_job_task_summaries[0].task_id #=> String
2320
+ # resp.code_review_job_task_summaries[0].code_review_id #=> String
2321
+ # resp.code_review_job_task_summaries[0].code_review_job_id #=> String
2322
+ # resp.code_review_job_task_summaries[0].agent_space_id #=> String
2323
+ # resp.code_review_job_task_summaries[0].title #=> String
2324
+ # resp.code_review_job_task_summaries[0].risk_type #=> String, one of "CROSS_SITE_SCRIPTING", "DEFAULT_CREDENTIALS", "INSECURE_DIRECT_OBJECT_REFERENCE", "PRIVILEGE_ESCALATION", "SERVER_SIDE_TEMPLATE_INJECTION", "COMMAND_INJECTION", "CODE_INJECTION", "SQL_INJECTION", "ARBITRARY_FILE_UPLOAD", "INSECURE_DESERIALIZATION", "LOCAL_FILE_INCLUSION", "INFORMATION_DISCLOSURE", "PATH_TRAVERSAL", "SERVER_SIDE_REQUEST_FORGERY", "JSON_WEB_TOKEN_VULNERABILITIES", "XML_EXTERNAL_ENTITY", "FILE_DELETION", "OTHER", "GRAPHQL_VULNERABILITIES", "BUSINESS_LOGIC_VULNERABILITIES", "CRYPTOGRAPHIC_VULNERABILITIES", "DENIAL_OF_SERVICE", "FILE_ACCESS", "FILE_CREATION", "DATABASE_MODIFICATION", "DATABASE_ACCESS", "OUTBOUND_SERVICE_REQUEST", "UNKNOWN"
2325
+ # resp.code_review_job_task_summaries[0].execution_status #=> String, one of "IN_PROGRESS", "ABORTED", "COMPLETED", "INTERNAL_ERROR", "FAILED"
2326
+ # resp.code_review_job_task_summaries[0].created_at #=> Time
2327
+ # resp.code_review_job_task_summaries[0].updated_at #=> Time
2328
+ # resp.next_token #=> String
2329
+ #
2330
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/ListCodeReviewJobTasks AWS API Documentation
2331
+ #
2332
+ # @overload list_code_review_job_tasks(params = {})
2333
+ # @param [Hash] params ({})
2334
+ def list_code_review_job_tasks(params = {}, options = {})
2335
+ req = build_request(:list_code_review_job_tasks, params)
2336
+ req.send_request(options)
2337
+ end
2338
+
2339
+ # Returns a paginated list of code review job summaries for the
2340
+ # specified code review configuration.
2341
+ #
2342
+ # @option params [Integer] :max_results
2343
+ # The maximum number of results to return in a single call.
2344
+ #
2345
+ # @option params [required, String] :code_review_id
2346
+ # The unique identifier of the code review to list jobs for.
2347
+ #
2348
+ # @option params [required, String] :agent_space_id
2349
+ # The unique identifier of the agent space.
2350
+ #
2351
+ # @option params [String] :next_token
2352
+ # A token to use for paginating results that are returned in the
2353
+ # response. Set the value of this parameter to null for the first
2354
+ # request. For subsequent calls, use the nextToken value returned from
2355
+ # the previous request.
2356
+ #
2357
+ # @return [Types::ListCodeReviewJobsForCodeReviewOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2358
+ #
2359
+ # * {Types::ListCodeReviewJobsForCodeReviewOutput#code_review_job_summaries #code_review_job_summaries} => Array&lt;Types::CodeReviewJobSummary&gt;
2360
+ # * {Types::ListCodeReviewJobsForCodeReviewOutput#next_token #next_token} => String
2361
+ #
2362
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2363
+ #
2364
+ # @example Request syntax with placeholder values
2365
+ #
2366
+ # resp = client.list_code_review_jobs_for_code_review({
2367
+ # max_results: 1,
2368
+ # code_review_id: "String", # required
2369
+ # agent_space_id: "String", # required
2370
+ # next_token: "NextToken",
2371
+ # })
2372
+ #
2373
+ # @example Response structure
2374
+ #
2375
+ # resp.code_review_job_summaries #=> Array
2376
+ # resp.code_review_job_summaries[0].code_review_job_id #=> String
2377
+ # resp.code_review_job_summaries[0].code_review_id #=> String
2378
+ # resp.code_review_job_summaries[0].title #=> String
2379
+ # resp.code_review_job_summaries[0].status #=> String, one of "IN_PROGRESS", "STOPPING", "STOPPED", "FAILED", "COMPLETED"
2380
+ # resp.code_review_job_summaries[0].created_at #=> Time
2381
+ # resp.code_review_job_summaries[0].updated_at #=> Time
2382
+ # resp.next_token #=> String
2383
+ #
2384
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/ListCodeReviewJobsForCodeReview AWS API Documentation
2385
+ #
2386
+ # @overload list_code_review_jobs_for_code_review(params = {})
2387
+ # @param [Hash] params ({})
2388
+ def list_code_review_jobs_for_code_review(params = {}, options = {})
2389
+ req = build_request(:list_code_review_jobs_for_code_review, params)
2390
+ req.send_request(options)
2391
+ end
2392
+
2393
+ # Returns a paginated list of code review summaries for the specified
2394
+ # agent space.
2395
+ #
2396
+ # @option params [Integer] :max_results
2397
+ # The maximum number of results to return in a single call.
2398
+ #
2399
+ # @option params [String] :next_token
2400
+ # A token to use for paginating results that are returned in the
2401
+ # response. Set the value of this parameter to null for the first
2402
+ # request. For subsequent calls, use the nextToken value returned from
2403
+ # the previous request.
2404
+ #
2405
+ # @option params [required, String] :agent_space_id
2406
+ # The unique identifier of the agent space to list code reviews for.
2407
+ #
2408
+ # @return [Types::ListCodeReviewsOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2409
+ #
2410
+ # * {Types::ListCodeReviewsOutput#code_review_summaries #code_review_summaries} => Array&lt;Types::CodeReviewSummary&gt;
2411
+ # * {Types::ListCodeReviewsOutput#next_token #next_token} => String
2412
+ #
2413
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
2414
+ #
2415
+ # @example Request syntax with placeholder values
2416
+ #
2417
+ # resp = client.list_code_reviews({
2418
+ # max_results: 1,
2419
+ # next_token: "NextToken",
2420
+ # agent_space_id: "String", # required
2421
+ # })
2422
+ #
2423
+ # @example Response structure
2424
+ #
2425
+ # resp.code_review_summaries #=> Array
2426
+ # resp.code_review_summaries[0].code_review_id #=> String
2427
+ # resp.code_review_summaries[0].agent_space_id #=> String
2428
+ # resp.code_review_summaries[0].title #=> String
2429
+ # resp.code_review_summaries[0].created_at #=> Time
2430
+ # resp.code_review_summaries[0].updated_at #=> Time
2431
+ # resp.next_token #=> String
2432
+ #
2433
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/ListCodeReviews AWS API Documentation
2434
+ #
2435
+ # @overload list_code_reviews(params = {})
2436
+ # @param [Hash] params ({})
2437
+ def list_code_reviews(params = {}, options = {})
2438
+ req = build_request(:list_code_reviews, params)
2439
+ req.send_request(options)
2440
+ end
2441
+
1925
2442
  # Returns a paginated list of endpoints discovered during a pentest job
1926
2443
  # execution.
1927
2444
  #
@@ -1987,9 +2504,13 @@ module Aws::SecurityAgent
1987
2504
  # @option params [Integer] :max_results
1988
2505
  # The maximum number of results to return in a single call.
1989
2506
  #
1990
- # @option params [required, String] :pentest_job_id
2507
+ # @option params [String] :pentest_job_id
1991
2508
  # The unique identifier of the pentest job to list findings for.
1992
2509
  #
2510
+ # @option params [String] :code_review_job_id
2511
+ # The unique identifier of the code review job to list findings for.
2512
+ # Mutually exclusive with pentestJobId.
2513
+ #
1993
2514
  # @option params [required, String] :agent_space_id
1994
2515
  # The unique identifier of the agent space.
1995
2516
  #
@@ -2025,7 +2546,8 @@ module Aws::SecurityAgent
2025
2546
  #
2026
2547
  # resp = client.list_findings({
2027
2548
  # max_results: 1,
2028
- # pentest_job_id: "String", # required
2549
+ # pentest_job_id: "String",
2550
+ # code_review_job_id: "String",
2029
2551
  # agent_space_id: "String", # required
2030
2552
  # next_token: "NextToken",
2031
2553
  # risk_type: "String",
@@ -2042,6 +2564,8 @@ module Aws::SecurityAgent
2042
2564
  # resp.findings_summaries[0].agent_space_id #=> String
2043
2565
  # resp.findings_summaries[0].pentest_id #=> String
2044
2566
  # resp.findings_summaries[0].pentest_job_id #=> String
2567
+ # resp.findings_summaries[0].code_review_id #=> String
2568
+ # resp.findings_summaries[0].code_review_job_id #=> String
2045
2569
  # resp.findings_summaries[0].name #=> String
2046
2570
  # resp.findings_summaries[0].status #=> String, one of "ACTIVE", "RESOLVED", "ACCEPTED", "FALSE_POSITIVE"
2047
2571
  # resp.findings_summaries[0].risk_type #=> String
@@ -2483,8 +3007,13 @@ module Aws::SecurityAgent
2483
3007
  # @option params [required, String] :agent_space_id
2484
3008
  # The unique identifier of the agent space.
2485
3009
  #
2486
- # @option params [required, String] :pentest_job_id
3010
+ # @option params [String] :pentest_job_id
2487
3011
  # The unique identifier of the pentest job that produced the findings.
3012
+ # Mutually exclusive with `codeReviewJobId`.
3013
+ #
3014
+ # @option params [String] :code_review_job_id
3015
+ # The unique identifier of the code review job that produced the
3016
+ # findings. Mutually exclusive with `pentestJobId`.
2488
3017
  #
2489
3018
  # @option params [required, Array<String>] :finding_ids
2490
3019
  # The list of finding identifiers to initiate code remediation for.
@@ -2495,7 +3024,8 @@ module Aws::SecurityAgent
2495
3024
  #
2496
3025
  # resp = client.start_code_remediation({
2497
3026
  # agent_space_id: "String", # required
2498
- # pentest_job_id: "String", # required
3027
+ # pentest_job_id: "String",
3028
+ # code_review_job_id: "String",
2499
3029
  # finding_ids: ["String"], # required
2500
3030
  # })
2501
3031
  #
@@ -2508,6 +3038,52 @@ module Aws::SecurityAgent
2508
3038
  req.send_request(options)
2509
3039
  end
2510
3040
 
3041
+ # Starts a new code review job for a code review configuration. The job
3042
+ # executes the security-focused code analysis defined in the code
3043
+ # review.
3044
+ #
3045
+ # @option params [required, String] :agent_space_id
3046
+ # The unique identifier of the agent space.
3047
+ #
3048
+ # @option params [required, String] :code_review_id
3049
+ # The unique identifier of the code review to start a job for.
3050
+ #
3051
+ # @return [Types::StartCodeReviewJobOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3052
+ #
3053
+ # * {Types::StartCodeReviewJobOutput#title #title} => String
3054
+ # * {Types::StartCodeReviewJobOutput#status #status} => String
3055
+ # * {Types::StartCodeReviewJobOutput#created_at #created_at} => Time
3056
+ # * {Types::StartCodeReviewJobOutput#updated_at #updated_at} => Time
3057
+ # * {Types::StartCodeReviewJobOutput#code_review_id #code_review_id} => String
3058
+ # * {Types::StartCodeReviewJobOutput#code_review_job_id #code_review_job_id} => String
3059
+ # * {Types::StartCodeReviewJobOutput#agent_space_id #agent_space_id} => String
3060
+ #
3061
+ # @example Request syntax with placeholder values
3062
+ #
3063
+ # resp = client.start_code_review_job({
3064
+ # agent_space_id: "String", # required
3065
+ # code_review_id: "String", # required
3066
+ # })
3067
+ #
3068
+ # @example Response structure
3069
+ #
3070
+ # resp.title #=> String
3071
+ # resp.status #=> String, one of "IN_PROGRESS", "STOPPING", "STOPPED", "FAILED", "COMPLETED"
3072
+ # resp.created_at #=> Time
3073
+ # resp.updated_at #=> Time
3074
+ # resp.code_review_id #=> String
3075
+ # resp.code_review_job_id #=> String
3076
+ # resp.agent_space_id #=> String
3077
+ #
3078
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/StartCodeReviewJob AWS API Documentation
3079
+ #
3080
+ # @overload start_code_review_job(params = {})
3081
+ # @param [Hash] params ({})
3082
+ def start_code_review_job(params = {}, options = {})
3083
+ req = build_request(:start_code_review_job, params)
3084
+ req.send_request(options)
3085
+ end
3086
+
2511
3087
  # Starts a new pentest job for a pentest configuration. The job executes
2512
3088
  # the security tests defined in the pentest.
2513
3089
  #
@@ -2553,6 +3129,33 @@ module Aws::SecurityAgent
2553
3129
  req.send_request(options)
2554
3130
  end
2555
3131
 
3132
+ # Stops a running code review job. The job transitions to a stopping
3133
+ # state and then to stopped after cleanup completes.
3134
+ #
3135
+ # @option params [required, String] :agent_space_id
3136
+ # The unique identifier of the agent space.
3137
+ #
3138
+ # @option params [required, String] :code_review_job_id
3139
+ # The unique identifier of the code review job to stop.
3140
+ #
3141
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3142
+ #
3143
+ # @example Request syntax with placeholder values
3144
+ #
3145
+ # resp = client.stop_code_review_job({
3146
+ # agent_space_id: "String", # required
3147
+ # code_review_job_id: "String", # required
3148
+ # })
3149
+ #
3150
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/StopCodeReviewJob AWS API Documentation
3151
+ #
3152
+ # @overload stop_code_review_job(params = {})
3153
+ # @param [Hash] params ({})
3154
+ def stop_code_review_job(params = {}, options = {})
3155
+ req = build_request(:stop_code_review_job, params)
3156
+ req.send_request(options)
3157
+ end
3158
+
2556
3159
  # Stops a running pentest job. The job transitions to a stopping state
2557
3160
  # and then to stopped after cleanup completes.
2558
3161
  #
@@ -2770,6 +3373,129 @@ module Aws::SecurityAgent
2770
3373
  req.send_request(options)
2771
3374
  end
2772
3375
 
3376
+ # Updates an existing code review configuration.
3377
+ #
3378
+ # @option params [required, String] :code_review_id
3379
+ # The unique identifier of the code review to update.
3380
+ #
3381
+ # @option params [required, String] :agent_space_id
3382
+ # The unique identifier of the agent space that contains the code
3383
+ # review.
3384
+ #
3385
+ # @option params [String] :title
3386
+ # The updated title of the code review.
3387
+ #
3388
+ # @option params [Types::Assets] :assets
3389
+ # The updated assets for the code review.
3390
+ #
3391
+ # @option params [String] :service_role
3392
+ # The updated IAM service role for the code review.
3393
+ #
3394
+ # @option params [Types::CloudWatchLog] :log_config
3395
+ # The updated CloudWatch Logs configuration for the code review.
3396
+ #
3397
+ # @option params [String] :code_remediation_strategy
3398
+ # The updated code remediation strategy for the code review.
3399
+ #
3400
+ # @return [Types::UpdateCodeReviewOutput] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3401
+ #
3402
+ # * {Types::UpdateCodeReviewOutput#code_review_id #code_review_id} => String
3403
+ # * {Types::UpdateCodeReviewOutput#title #title} => String
3404
+ # * {Types::UpdateCodeReviewOutput#created_at #created_at} => Time
3405
+ # * {Types::UpdateCodeReviewOutput#updated_at #updated_at} => Time
3406
+ # * {Types::UpdateCodeReviewOutput#assets #assets} => Types::Assets
3407
+ # * {Types::UpdateCodeReviewOutput#service_role #service_role} => String
3408
+ # * {Types::UpdateCodeReviewOutput#log_config #log_config} => Types::CloudWatchLog
3409
+ # * {Types::UpdateCodeReviewOutput#agent_space_id #agent_space_id} => String
3410
+ # * {Types::UpdateCodeReviewOutput#code_remediation_strategy #code_remediation_strategy} => String
3411
+ #
3412
+ # @example Request syntax with placeholder values
3413
+ #
3414
+ # resp = client.update_code_review({
3415
+ # code_review_id: "String", # required
3416
+ # agent_space_id: "String", # required
3417
+ # title: "String",
3418
+ # assets: {
3419
+ # endpoints: [
3420
+ # {
3421
+ # uri: "String",
3422
+ # },
3423
+ # ],
3424
+ # actors: [
3425
+ # {
3426
+ # identifier: "String",
3427
+ # uris: ["String"],
3428
+ # authentication: {
3429
+ # provider_type: "SECRETS_MANAGER", # accepts SECRETS_MANAGER, AWS_LAMBDA, AWS_IAM_ROLE, AWS_INTERNAL
3430
+ # value: "String",
3431
+ # },
3432
+ # description: "String",
3433
+ # },
3434
+ # ],
3435
+ # documents: [
3436
+ # {
3437
+ # s3_location: "String",
3438
+ # artifact_id: "String",
3439
+ # },
3440
+ # ],
3441
+ # source_code: [
3442
+ # {
3443
+ # s3_location: "String",
3444
+ # },
3445
+ # ],
3446
+ # integrated_repositories: [
3447
+ # {
3448
+ # integration_id: "String", # required
3449
+ # provider_resource_id: "String", # required
3450
+ # },
3451
+ # ],
3452
+ # },
3453
+ # service_role: "ServiceRole",
3454
+ # log_config: {
3455
+ # log_group: "String",
3456
+ # log_stream: "String",
3457
+ # },
3458
+ # code_remediation_strategy: "AUTOMATIC", # accepts AUTOMATIC, DISABLED
3459
+ # })
3460
+ #
3461
+ # @example Response structure
3462
+ #
3463
+ # resp.code_review_id #=> String
3464
+ # resp.title #=> String
3465
+ # resp.created_at #=> Time
3466
+ # resp.updated_at #=> Time
3467
+ # resp.assets.endpoints #=> Array
3468
+ # resp.assets.endpoints[0].uri #=> String
3469
+ # resp.assets.actors #=> Array
3470
+ # resp.assets.actors[0].identifier #=> String
3471
+ # resp.assets.actors[0].uris #=> Array
3472
+ # resp.assets.actors[0].uris[0] #=> String
3473
+ # resp.assets.actors[0].authentication.provider_type #=> String, one of "SECRETS_MANAGER", "AWS_LAMBDA", "AWS_IAM_ROLE", "AWS_INTERNAL"
3474
+ # resp.assets.actors[0].authentication.value #=> String
3475
+ # resp.assets.actors[0].description #=> String
3476
+ # resp.assets.documents #=> Array
3477
+ # resp.assets.documents[0].s3_location #=> String
3478
+ # resp.assets.documents[0].artifact_id #=> String
3479
+ # resp.assets.source_code #=> Array
3480
+ # resp.assets.source_code[0].s3_location #=> String
3481
+ # resp.assets.integrated_repositories #=> Array
3482
+ # resp.assets.integrated_repositories[0].integration_id #=> String
3483
+ # resp.assets.integrated_repositories[0].provider_resource_id #=> String
3484
+ # resp.service_role #=> String
3485
+ # resp.log_config.log_group #=> String
3486
+ # resp.log_config.log_stream #=> String
3487
+ # resp.agent_space_id #=> String
3488
+ # resp.code_remediation_strategy #=> String, one of "AUTOMATIC", "DISABLED"
3489
+ #
3490
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityagent-2025-09-06/UpdateCodeReview AWS API Documentation
3491
+ #
3492
+ # @overload update_code_review(params = {})
3493
+ # @param [Hash] params ({})
3494
+ def update_code_review(params = {}, options = {})
3495
+ req = build_request(:update_code_review, params)
3496
+ req.send_request(options)
3497
+ end
3498
+
2773
3499
  # Updates the status or risk level of a security finding.
2774
3500
  #
2775
3501
  # @option params [required, String] :finding_id
@@ -3111,7 +3837,7 @@ module Aws::SecurityAgent
3111
3837
  tracer: tracer
3112
3838
  )
3113
3839
  context[:gem_name] = 'aws-sdk-securityagent'
3114
- context[:gem_version] = '1.1.0'
3840
+ context[:gem_version] = '1.2.0'
3115
3841
  Seahorse::Client::Request.new(handlers, context)
3116
3842
  end
3117
3843