aws-sdk-securityhub 1.82.0 → 1.84.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.
@@ -275,6 +275,11 @@ module Aws::SecurityHub
275
275
  # in the future.
276
276
  #
277
277
  #
278
+ # @option options [String] :sdk_ua_app_id
279
+ # A unique and opaque application ID that is appended to the
280
+ # User-Agent header as app/<sdk_ua_app_id>. It should have a
281
+ # maximum length of 50.
282
+ #
278
283
  # @option options [String] :secret_access_key
279
284
  #
280
285
  # @option options [String] :session_token
@@ -463,6 +468,67 @@ module Aws::SecurityHub
463
468
  req.send_request(options)
464
469
  end
465
470
 
471
+ # Deletes one or more automation rules.
472
+ #
473
+ # @option params [required, Array<String>] :automation_rules_arns
474
+ # A list of Amazon Resource Names (ARNs) for the rules that are to be
475
+ # deleted.
476
+ #
477
+ # @return [Types::BatchDeleteAutomationRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
478
+ #
479
+ # * {Types::BatchDeleteAutomationRulesResponse#processed_automation_rules #processed_automation_rules} => Array&lt;String&gt;
480
+ # * {Types::BatchDeleteAutomationRulesResponse#unprocessed_automation_rules #unprocessed_automation_rules} => Array&lt;Types::UnprocessedAutomationRule&gt;
481
+ #
482
+ #
483
+ # @example Example: To delete one or more automation rules
484
+ #
485
+ # # The following example deletes the specified automation rules.
486
+ #
487
+ # resp = client.batch_delete_automation_rules({
488
+ # automation_rules_arns: [
489
+ # "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
490
+ # "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
491
+ # ],
492
+ # })
493
+ #
494
+ # resp.to_h outputs the following:
495
+ # {
496
+ # processed_automation_rules: [
497
+ # "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
498
+ # ],
499
+ # unprocessed_automation_rules: [
500
+ # {
501
+ # error_code: 500,
502
+ # error_message: "InternalException",
503
+ # rule_arn: "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
504
+ # },
505
+ # ],
506
+ # }
507
+ #
508
+ # @example Request syntax with placeholder values
509
+ #
510
+ # resp = client.batch_delete_automation_rules({
511
+ # automation_rules_arns: ["NonEmptyString"], # required
512
+ # })
513
+ #
514
+ # @example Response structure
515
+ #
516
+ # resp.processed_automation_rules #=> Array
517
+ # resp.processed_automation_rules[0] #=> String
518
+ # resp.unprocessed_automation_rules #=> Array
519
+ # resp.unprocessed_automation_rules[0].rule_arn #=> String
520
+ # resp.unprocessed_automation_rules[0].error_code #=> Integer
521
+ # resp.unprocessed_automation_rules[0].error_message #=> String
522
+ #
523
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDeleteAutomationRules AWS API Documentation
524
+ #
525
+ # @overload batch_delete_automation_rules(params = {})
526
+ # @param [Hash] params ({})
527
+ def batch_delete_automation_rules(params = {}, options = {})
528
+ req = build_request(:batch_delete_automation_rules, params)
529
+ req.send_request(options)
530
+ end
531
+
466
532
  # Disables the standards specified by the provided
467
533
  # `StandardsSubscriptionArns`.
468
534
  #
@@ -605,6 +671,281 @@ module Aws::SecurityHub
605
671
  req.send_request(options)
606
672
  end
607
673
 
674
+ # Retrieves a list of details for automation rules based on rule Amazon
675
+ # Resource Names (ARNs).
676
+ #
677
+ # @option params [required, Array<String>] :automation_rules_arns
678
+ # A list of rule ARNs to get details for.
679
+ #
680
+ # @return [Types::BatchGetAutomationRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
681
+ #
682
+ # * {Types::BatchGetAutomationRulesResponse#rules #rules} => Array&lt;Types::AutomationRulesConfig&gt;
683
+ # * {Types::BatchGetAutomationRulesResponse#unprocessed_automation_rules #unprocessed_automation_rules} => Array&lt;Types::UnprocessedAutomationRule&gt;
684
+ #
685
+ #
686
+ # @example Example: To update one ore more automation rules
687
+ #
688
+ # # The following example updates the specified automation rules.
689
+ #
690
+ # resp = client.batch_get_automation_rules({
691
+ # automation_rules_arns: [
692
+ # "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
693
+ # "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
694
+ # ],
695
+ # })
696
+ #
697
+ # resp.to_h outputs the following:
698
+ # {
699
+ # rules: [
700
+ # {
701
+ # actions: [
702
+ # {
703
+ # finding_fields_update: {
704
+ # workflow: {
705
+ # status: "RESOLVED",
706
+ # },
707
+ # },
708
+ # type: "FINDING_FIELDS_UPDATE",
709
+ # },
710
+ # ],
711
+ # created_at: Time.parse("2022-08-31T01:52:33.250Z"),
712
+ # created_by: "AROAJURBUYQQNL5OL2TIM:TEST-16MJ75L9VBK14",
713
+ # criteria: {
714
+ # aws_account_id: [
715
+ # {
716
+ # comparison: "EQUALS",
717
+ # value: "111122223333",
718
+ # },
719
+ # ],
720
+ # first_observed_at: [
721
+ # {
722
+ # date_range: {
723
+ # unit: "DAYS",
724
+ # value: 5,
725
+ # },
726
+ # },
727
+ # ],
728
+ # type: [
729
+ # {
730
+ # comparison: "EQUALS",
731
+ # value: "Software and Configuration Checks/Industry and Regulatory Standards",
732
+ # },
733
+ # ],
734
+ # },
735
+ # description: "sample rule description 1",
736
+ # rule_arn: "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
737
+ # rule_name: "sample-rule-name-1",
738
+ # rule_order: 1,
739
+ # rule_status: "ENABLED",
740
+ # updated_at: Time.parse("2022-08-31T01:52:33.250Z"),
741
+ # },
742
+ # {
743
+ # actions: [
744
+ # {
745
+ # finding_fields_update: {
746
+ # workflow: {
747
+ # status: "RESOLVED",
748
+ # },
749
+ # },
750
+ # type: "FINDING_FIELDS_UPDATE",
751
+ # },
752
+ # ],
753
+ # created_at: Time.parse("2022-08-31T01:52:33.250Z"),
754
+ # created_by: "AROAJURBUYQQNL5OL2TIM:TEST-16MJ75L9VBK14",
755
+ # criteria: {
756
+ # resource_type: [
757
+ # {
758
+ # comparison: "EQUALS",
759
+ # value: "Ec2Instance",
760
+ # },
761
+ # ],
762
+ # severity_label: [
763
+ # {
764
+ # comparison: "EQUALS",
765
+ # value: "INFORMATIONAL",
766
+ # },
767
+ # ],
768
+ # },
769
+ # description: "Sample rule description 2",
770
+ # rule_arn: "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
771
+ # rule_name: "sample-rule-name-2",
772
+ # rule_order: 2,
773
+ # rule_status: "ENABLED",
774
+ # updated_at: Time.parse("2022-08-31T01:52:33.250Z"),
775
+ # },
776
+ # ],
777
+ # }
778
+ #
779
+ # @example Request syntax with placeholder values
780
+ #
781
+ # resp = client.batch_get_automation_rules({
782
+ # automation_rules_arns: ["NonEmptyString"], # required
783
+ # })
784
+ #
785
+ # @example Response structure
786
+ #
787
+ # resp.rules #=> Array
788
+ # resp.rules[0].rule_arn #=> String
789
+ # resp.rules[0].rule_status #=> String, one of "ENABLED", "DISABLED"
790
+ # resp.rules[0].rule_order #=> Integer
791
+ # resp.rules[0].rule_name #=> String
792
+ # resp.rules[0].description #=> String
793
+ # resp.rules[0].is_terminal #=> Boolean
794
+ # resp.rules[0].criteria.product_arn #=> Array
795
+ # resp.rules[0].criteria.product_arn[0].value #=> String
796
+ # resp.rules[0].criteria.product_arn[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
797
+ # resp.rules[0].criteria.aws_account_id #=> Array
798
+ # resp.rules[0].criteria.aws_account_id[0].value #=> String
799
+ # resp.rules[0].criteria.aws_account_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
800
+ # resp.rules[0].criteria.id #=> Array
801
+ # resp.rules[0].criteria.id[0].value #=> String
802
+ # resp.rules[0].criteria.id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
803
+ # resp.rules[0].criteria.generator_id #=> Array
804
+ # resp.rules[0].criteria.generator_id[0].value #=> String
805
+ # resp.rules[0].criteria.generator_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
806
+ # resp.rules[0].criteria.type #=> Array
807
+ # resp.rules[0].criteria.type[0].value #=> String
808
+ # resp.rules[0].criteria.type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
809
+ # resp.rules[0].criteria.first_observed_at #=> Array
810
+ # resp.rules[0].criteria.first_observed_at[0].start #=> String
811
+ # resp.rules[0].criteria.first_observed_at[0].end #=> String
812
+ # resp.rules[0].criteria.first_observed_at[0].date_range.value #=> Integer
813
+ # resp.rules[0].criteria.first_observed_at[0].date_range.unit #=> String, one of "DAYS"
814
+ # resp.rules[0].criteria.last_observed_at #=> Array
815
+ # resp.rules[0].criteria.last_observed_at[0].start #=> String
816
+ # resp.rules[0].criteria.last_observed_at[0].end #=> String
817
+ # resp.rules[0].criteria.last_observed_at[0].date_range.value #=> Integer
818
+ # resp.rules[0].criteria.last_observed_at[0].date_range.unit #=> String, one of "DAYS"
819
+ # resp.rules[0].criteria.created_at #=> Array
820
+ # resp.rules[0].criteria.created_at[0].start #=> String
821
+ # resp.rules[0].criteria.created_at[0].end #=> String
822
+ # resp.rules[0].criteria.created_at[0].date_range.value #=> Integer
823
+ # resp.rules[0].criteria.created_at[0].date_range.unit #=> String, one of "DAYS"
824
+ # resp.rules[0].criteria.updated_at #=> Array
825
+ # resp.rules[0].criteria.updated_at[0].start #=> String
826
+ # resp.rules[0].criteria.updated_at[0].end #=> String
827
+ # resp.rules[0].criteria.updated_at[0].date_range.value #=> Integer
828
+ # resp.rules[0].criteria.updated_at[0].date_range.unit #=> String, one of "DAYS"
829
+ # resp.rules[0].criteria.confidence #=> Array
830
+ # resp.rules[0].criteria.confidence[0].gte #=> Float
831
+ # resp.rules[0].criteria.confidence[0].lte #=> Float
832
+ # resp.rules[0].criteria.confidence[0].eq #=> Float
833
+ # resp.rules[0].criteria.criticality #=> Array
834
+ # resp.rules[0].criteria.criticality[0].gte #=> Float
835
+ # resp.rules[0].criteria.criticality[0].lte #=> Float
836
+ # resp.rules[0].criteria.criticality[0].eq #=> Float
837
+ # resp.rules[0].criteria.title #=> Array
838
+ # resp.rules[0].criteria.title[0].value #=> String
839
+ # resp.rules[0].criteria.title[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
840
+ # resp.rules[0].criteria.description #=> Array
841
+ # resp.rules[0].criteria.description[0].value #=> String
842
+ # resp.rules[0].criteria.description[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
843
+ # resp.rules[0].criteria.source_url #=> Array
844
+ # resp.rules[0].criteria.source_url[0].value #=> String
845
+ # resp.rules[0].criteria.source_url[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
846
+ # resp.rules[0].criteria.product_name #=> Array
847
+ # resp.rules[0].criteria.product_name[0].value #=> String
848
+ # resp.rules[0].criteria.product_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
849
+ # resp.rules[0].criteria.company_name #=> Array
850
+ # resp.rules[0].criteria.company_name[0].value #=> String
851
+ # resp.rules[0].criteria.company_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
852
+ # resp.rules[0].criteria.severity_label #=> Array
853
+ # resp.rules[0].criteria.severity_label[0].value #=> String
854
+ # resp.rules[0].criteria.severity_label[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
855
+ # resp.rules[0].criteria.resource_type #=> Array
856
+ # resp.rules[0].criteria.resource_type[0].value #=> String
857
+ # resp.rules[0].criteria.resource_type[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
858
+ # resp.rules[0].criteria.resource_id #=> Array
859
+ # resp.rules[0].criteria.resource_id[0].value #=> String
860
+ # resp.rules[0].criteria.resource_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
861
+ # resp.rules[0].criteria.resource_partition #=> Array
862
+ # resp.rules[0].criteria.resource_partition[0].value #=> String
863
+ # resp.rules[0].criteria.resource_partition[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
864
+ # resp.rules[0].criteria.resource_region #=> Array
865
+ # resp.rules[0].criteria.resource_region[0].value #=> String
866
+ # resp.rules[0].criteria.resource_region[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
867
+ # resp.rules[0].criteria.resource_tags #=> Array
868
+ # resp.rules[0].criteria.resource_tags[0].key #=> String
869
+ # resp.rules[0].criteria.resource_tags[0].value #=> String
870
+ # resp.rules[0].criteria.resource_tags[0].comparison #=> String, one of "EQUALS", "NOT_EQUALS"
871
+ # resp.rules[0].criteria.resource_details_other #=> Array
872
+ # resp.rules[0].criteria.resource_details_other[0].key #=> String
873
+ # resp.rules[0].criteria.resource_details_other[0].value #=> String
874
+ # resp.rules[0].criteria.resource_details_other[0].comparison #=> String, one of "EQUALS", "NOT_EQUALS"
875
+ # resp.rules[0].criteria.compliance_status #=> Array
876
+ # resp.rules[0].criteria.compliance_status[0].value #=> String
877
+ # resp.rules[0].criteria.compliance_status[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
878
+ # resp.rules[0].criteria.compliance_security_control_id #=> Array
879
+ # resp.rules[0].criteria.compliance_security_control_id[0].value #=> String
880
+ # resp.rules[0].criteria.compliance_security_control_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
881
+ # resp.rules[0].criteria.compliance_associated_standards_id #=> Array
882
+ # resp.rules[0].criteria.compliance_associated_standards_id[0].value #=> String
883
+ # resp.rules[0].criteria.compliance_associated_standards_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
884
+ # resp.rules[0].criteria.verification_state #=> Array
885
+ # resp.rules[0].criteria.verification_state[0].value #=> String
886
+ # resp.rules[0].criteria.verification_state[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
887
+ # resp.rules[0].criteria.workflow_status #=> Array
888
+ # resp.rules[0].criteria.workflow_status[0].value #=> String
889
+ # resp.rules[0].criteria.workflow_status[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
890
+ # resp.rules[0].criteria.record_state #=> Array
891
+ # resp.rules[0].criteria.record_state[0].value #=> String
892
+ # resp.rules[0].criteria.record_state[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
893
+ # resp.rules[0].criteria.related_findings_product_arn #=> Array
894
+ # resp.rules[0].criteria.related_findings_product_arn[0].value #=> String
895
+ # resp.rules[0].criteria.related_findings_product_arn[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
896
+ # resp.rules[0].criteria.related_findings_id #=> Array
897
+ # resp.rules[0].criteria.related_findings_id[0].value #=> String
898
+ # resp.rules[0].criteria.related_findings_id[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
899
+ # resp.rules[0].criteria.note_text #=> Array
900
+ # resp.rules[0].criteria.note_text[0].value #=> String
901
+ # resp.rules[0].criteria.note_text[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
902
+ # resp.rules[0].criteria.note_updated_at #=> Array
903
+ # resp.rules[0].criteria.note_updated_at[0].start #=> String
904
+ # resp.rules[0].criteria.note_updated_at[0].end #=> String
905
+ # resp.rules[0].criteria.note_updated_at[0].date_range.value #=> Integer
906
+ # resp.rules[0].criteria.note_updated_at[0].date_range.unit #=> String, one of "DAYS"
907
+ # resp.rules[0].criteria.note_updated_by #=> Array
908
+ # resp.rules[0].criteria.note_updated_by[0].value #=> String
909
+ # resp.rules[0].criteria.note_updated_by[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS"
910
+ # resp.rules[0].criteria.user_defined_fields #=> Array
911
+ # resp.rules[0].criteria.user_defined_fields[0].key #=> String
912
+ # resp.rules[0].criteria.user_defined_fields[0].value #=> String
913
+ # resp.rules[0].criteria.user_defined_fields[0].comparison #=> String, one of "EQUALS", "NOT_EQUALS"
914
+ # resp.rules[0].actions #=> Array
915
+ # resp.rules[0].actions[0].type #=> String, one of "FINDING_FIELDS_UPDATE"
916
+ # resp.rules[0].actions[0].finding_fields_update.note.text #=> String
917
+ # resp.rules[0].actions[0].finding_fields_update.note.updated_by #=> String
918
+ # resp.rules[0].actions[0].finding_fields_update.severity.normalized #=> Integer
919
+ # resp.rules[0].actions[0].finding_fields_update.severity.product #=> Float
920
+ # resp.rules[0].actions[0].finding_fields_update.severity.label #=> String, one of "INFORMATIONAL", "LOW", "MEDIUM", "HIGH", "CRITICAL"
921
+ # resp.rules[0].actions[0].finding_fields_update.verification_state #=> String, one of "UNKNOWN", "TRUE_POSITIVE", "FALSE_POSITIVE", "BENIGN_POSITIVE"
922
+ # resp.rules[0].actions[0].finding_fields_update.confidence #=> Integer
923
+ # resp.rules[0].actions[0].finding_fields_update.criticality #=> Integer
924
+ # resp.rules[0].actions[0].finding_fields_update.types #=> Array
925
+ # resp.rules[0].actions[0].finding_fields_update.types[0] #=> String
926
+ # resp.rules[0].actions[0].finding_fields_update.user_defined_fields #=> Hash
927
+ # resp.rules[0].actions[0].finding_fields_update.user_defined_fields["NonEmptyString"] #=> String
928
+ # resp.rules[0].actions[0].finding_fields_update.workflow.status #=> String, one of "NEW", "NOTIFIED", "RESOLVED", "SUPPRESSED"
929
+ # resp.rules[0].actions[0].finding_fields_update.related_findings #=> Array
930
+ # resp.rules[0].actions[0].finding_fields_update.related_findings[0].product_arn #=> String
931
+ # resp.rules[0].actions[0].finding_fields_update.related_findings[0].id #=> String
932
+ # resp.rules[0].created_at #=> Time
933
+ # resp.rules[0].updated_at #=> Time
934
+ # resp.rules[0].created_by #=> String
935
+ # resp.unprocessed_automation_rules #=> Array
936
+ # resp.unprocessed_automation_rules[0].rule_arn #=> String
937
+ # resp.unprocessed_automation_rules[0].error_code #=> Integer
938
+ # resp.unprocessed_automation_rules[0].error_message #=> String
939
+ #
940
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchGetAutomationRules AWS API Documentation
941
+ #
942
+ # @overload batch_get_automation_rules(params = {})
943
+ # @param [Hash] params ({})
944
+ def batch_get_automation_rules(params = {}, options = {})
945
+ req = build_request(:batch_get_automation_rules, params)
946
+ req.send_request(options)
947
+ end
948
+
608
949
  # Provides details about a batch of security controls for the current
609
950
  # Amazon Web Services account and Amazon Web Services Region.
610
951
  #
@@ -921,6 +1262,347 @@ module Aws::SecurityHub
921
1262
  req.send_request(options)
922
1263
  end
923
1264
 
1265
+ # Updates one or more automation rules based on rule Amazon Resource
1266
+ # Names (ARNs) and input parameters.
1267
+ #
1268
+ # @option params [required, Array<Types::UpdateAutomationRulesRequestItem>] :update_automation_rules_request_items
1269
+ # An array of ARNs for the rules that are to be updated. Optionally, you
1270
+ # can also include `RuleStatus` and `RuleOrder`.
1271
+ #
1272
+ # @return [Types::BatchUpdateAutomationRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1273
+ #
1274
+ # * {Types::BatchUpdateAutomationRulesResponse#processed_automation_rules #processed_automation_rules} => Array&lt;String&gt;
1275
+ # * {Types::BatchUpdateAutomationRulesResponse#unprocessed_automation_rules #unprocessed_automation_rules} => Array&lt;Types::UnprocessedAutomationRule&gt;
1276
+ #
1277
+ #
1278
+ # @example Example: To update one ore more automation rules
1279
+ #
1280
+ # # The following example updates the specified automation rules.
1281
+ #
1282
+ # resp = client.batch_update_automation_rules({
1283
+ # update_automation_rules_request_items: [
1284
+ # {
1285
+ # rule_arn: "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
1286
+ # rule_order: 15,
1287
+ # rule_status: "ENABLED",
1288
+ # },
1289
+ # {
1290
+ # rule_arn: "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
1291
+ # rule_status: "DISABLED",
1292
+ # },
1293
+ # ],
1294
+ # })
1295
+ #
1296
+ # resp.to_h outputs the following:
1297
+ # {
1298
+ # processed_automation_rules: [
1299
+ # "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
1300
+ # "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
1301
+ # ],
1302
+ # }
1303
+ #
1304
+ # @example Request syntax with placeholder values
1305
+ #
1306
+ # resp = client.batch_update_automation_rules({
1307
+ # update_automation_rules_request_items: [ # required
1308
+ # {
1309
+ # rule_arn: "NonEmptyString", # required
1310
+ # rule_status: "ENABLED", # accepts ENABLED, DISABLED
1311
+ # rule_order: 1,
1312
+ # description: "NonEmptyString",
1313
+ # rule_name: "NonEmptyString",
1314
+ # is_terminal: false,
1315
+ # criteria: {
1316
+ # product_arn: [
1317
+ # {
1318
+ # value: "NonEmptyString",
1319
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1320
+ # },
1321
+ # ],
1322
+ # aws_account_id: [
1323
+ # {
1324
+ # value: "NonEmptyString",
1325
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1326
+ # },
1327
+ # ],
1328
+ # id: [
1329
+ # {
1330
+ # value: "NonEmptyString",
1331
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1332
+ # },
1333
+ # ],
1334
+ # generator_id: [
1335
+ # {
1336
+ # value: "NonEmptyString",
1337
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1338
+ # },
1339
+ # ],
1340
+ # type: [
1341
+ # {
1342
+ # value: "NonEmptyString",
1343
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1344
+ # },
1345
+ # ],
1346
+ # first_observed_at: [
1347
+ # {
1348
+ # start: "NonEmptyString",
1349
+ # end: "NonEmptyString",
1350
+ # date_range: {
1351
+ # value: 1,
1352
+ # unit: "DAYS", # accepts DAYS
1353
+ # },
1354
+ # },
1355
+ # ],
1356
+ # last_observed_at: [
1357
+ # {
1358
+ # start: "NonEmptyString",
1359
+ # end: "NonEmptyString",
1360
+ # date_range: {
1361
+ # value: 1,
1362
+ # unit: "DAYS", # accepts DAYS
1363
+ # },
1364
+ # },
1365
+ # ],
1366
+ # created_at: [
1367
+ # {
1368
+ # start: "NonEmptyString",
1369
+ # end: "NonEmptyString",
1370
+ # date_range: {
1371
+ # value: 1,
1372
+ # unit: "DAYS", # accepts DAYS
1373
+ # },
1374
+ # },
1375
+ # ],
1376
+ # updated_at: [
1377
+ # {
1378
+ # start: "NonEmptyString",
1379
+ # end: "NonEmptyString",
1380
+ # date_range: {
1381
+ # value: 1,
1382
+ # unit: "DAYS", # accepts DAYS
1383
+ # },
1384
+ # },
1385
+ # ],
1386
+ # confidence: [
1387
+ # {
1388
+ # gte: 1.0,
1389
+ # lte: 1.0,
1390
+ # eq: 1.0,
1391
+ # },
1392
+ # ],
1393
+ # criticality: [
1394
+ # {
1395
+ # gte: 1.0,
1396
+ # lte: 1.0,
1397
+ # eq: 1.0,
1398
+ # },
1399
+ # ],
1400
+ # title: [
1401
+ # {
1402
+ # value: "NonEmptyString",
1403
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1404
+ # },
1405
+ # ],
1406
+ # description: [
1407
+ # {
1408
+ # value: "NonEmptyString",
1409
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1410
+ # },
1411
+ # ],
1412
+ # source_url: [
1413
+ # {
1414
+ # value: "NonEmptyString",
1415
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1416
+ # },
1417
+ # ],
1418
+ # product_name: [
1419
+ # {
1420
+ # value: "NonEmptyString",
1421
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1422
+ # },
1423
+ # ],
1424
+ # company_name: [
1425
+ # {
1426
+ # value: "NonEmptyString",
1427
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1428
+ # },
1429
+ # ],
1430
+ # severity_label: [
1431
+ # {
1432
+ # value: "NonEmptyString",
1433
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1434
+ # },
1435
+ # ],
1436
+ # resource_type: [
1437
+ # {
1438
+ # value: "NonEmptyString",
1439
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1440
+ # },
1441
+ # ],
1442
+ # resource_id: [
1443
+ # {
1444
+ # value: "NonEmptyString",
1445
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1446
+ # },
1447
+ # ],
1448
+ # resource_partition: [
1449
+ # {
1450
+ # value: "NonEmptyString",
1451
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1452
+ # },
1453
+ # ],
1454
+ # resource_region: [
1455
+ # {
1456
+ # value: "NonEmptyString",
1457
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1458
+ # },
1459
+ # ],
1460
+ # resource_tags: [
1461
+ # {
1462
+ # key: "NonEmptyString",
1463
+ # value: "NonEmptyString",
1464
+ # comparison: "EQUALS", # accepts EQUALS, NOT_EQUALS
1465
+ # },
1466
+ # ],
1467
+ # resource_details_other: [
1468
+ # {
1469
+ # key: "NonEmptyString",
1470
+ # value: "NonEmptyString",
1471
+ # comparison: "EQUALS", # accepts EQUALS, NOT_EQUALS
1472
+ # },
1473
+ # ],
1474
+ # compliance_status: [
1475
+ # {
1476
+ # value: "NonEmptyString",
1477
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1478
+ # },
1479
+ # ],
1480
+ # compliance_security_control_id: [
1481
+ # {
1482
+ # value: "NonEmptyString",
1483
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1484
+ # },
1485
+ # ],
1486
+ # compliance_associated_standards_id: [
1487
+ # {
1488
+ # value: "NonEmptyString",
1489
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1490
+ # },
1491
+ # ],
1492
+ # verification_state: [
1493
+ # {
1494
+ # value: "NonEmptyString",
1495
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1496
+ # },
1497
+ # ],
1498
+ # workflow_status: [
1499
+ # {
1500
+ # value: "NonEmptyString",
1501
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1502
+ # },
1503
+ # ],
1504
+ # record_state: [
1505
+ # {
1506
+ # value: "NonEmptyString",
1507
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1508
+ # },
1509
+ # ],
1510
+ # related_findings_product_arn: [
1511
+ # {
1512
+ # value: "NonEmptyString",
1513
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1514
+ # },
1515
+ # ],
1516
+ # related_findings_id: [
1517
+ # {
1518
+ # value: "NonEmptyString",
1519
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1520
+ # },
1521
+ # ],
1522
+ # note_text: [
1523
+ # {
1524
+ # value: "NonEmptyString",
1525
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1526
+ # },
1527
+ # ],
1528
+ # note_updated_at: [
1529
+ # {
1530
+ # start: "NonEmptyString",
1531
+ # end: "NonEmptyString",
1532
+ # date_range: {
1533
+ # value: 1,
1534
+ # unit: "DAYS", # accepts DAYS
1535
+ # },
1536
+ # },
1537
+ # ],
1538
+ # note_updated_by: [
1539
+ # {
1540
+ # value: "NonEmptyString",
1541
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
1542
+ # },
1543
+ # ],
1544
+ # user_defined_fields: [
1545
+ # {
1546
+ # key: "NonEmptyString",
1547
+ # value: "NonEmptyString",
1548
+ # comparison: "EQUALS", # accepts EQUALS, NOT_EQUALS
1549
+ # },
1550
+ # ],
1551
+ # },
1552
+ # actions: [
1553
+ # {
1554
+ # type: "FINDING_FIELDS_UPDATE", # accepts FINDING_FIELDS_UPDATE
1555
+ # finding_fields_update: {
1556
+ # note: {
1557
+ # text: "NonEmptyString", # required
1558
+ # updated_by: "NonEmptyString", # required
1559
+ # },
1560
+ # severity: {
1561
+ # normalized: 1,
1562
+ # product: 1.0,
1563
+ # label: "INFORMATIONAL", # accepts INFORMATIONAL, LOW, MEDIUM, HIGH, CRITICAL
1564
+ # },
1565
+ # verification_state: "UNKNOWN", # accepts UNKNOWN, TRUE_POSITIVE, FALSE_POSITIVE, BENIGN_POSITIVE
1566
+ # confidence: 1,
1567
+ # criticality: 1,
1568
+ # types: ["NonEmptyString"],
1569
+ # user_defined_fields: {
1570
+ # "NonEmptyString" => "NonEmptyString",
1571
+ # },
1572
+ # workflow: {
1573
+ # status: "NEW", # accepts NEW, NOTIFIED, RESOLVED, SUPPRESSED
1574
+ # },
1575
+ # related_findings: [
1576
+ # {
1577
+ # product_arn: "NonEmptyString", # required
1578
+ # id: "NonEmptyString", # required
1579
+ # },
1580
+ # ],
1581
+ # },
1582
+ # },
1583
+ # ],
1584
+ # },
1585
+ # ],
1586
+ # })
1587
+ #
1588
+ # @example Response structure
1589
+ #
1590
+ # resp.processed_automation_rules #=> Array
1591
+ # resp.processed_automation_rules[0] #=> String
1592
+ # resp.unprocessed_automation_rules #=> Array
1593
+ # resp.unprocessed_automation_rules[0].rule_arn #=> String
1594
+ # resp.unprocessed_automation_rules[0].error_code #=> Integer
1595
+ # resp.unprocessed_automation_rules[0].error_message #=> String
1596
+ #
1597
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateAutomationRules AWS API Documentation
1598
+ #
1599
+ # @overload batch_update_automation_rules(params = {})
1600
+ # @param [Hash] params ({})
1601
+ def batch_update_automation_rules(params = {}, options = {})
1602
+ req = build_request(:batch_update_automation_rules, params)
1603
+ req.send_request(options)
1604
+ end
1605
+
924
1606
  # Used by Security Hub customers to update information about their
925
1607
  # investigation into a finding. Requested by administrator accounts or
926
1608
  # member accounts. Administrator accounts can update findings for their
@@ -1125,170 +1807,577 @@ module Aws::SecurityHub
1125
1807
  # workflow: {
1126
1808
  # status: "NEW", # accepts NEW, NOTIFIED, RESOLVED, SUPPRESSED
1127
1809
  # },
1128
- # related_findings: [
1129
- # {
1130
- # product_arn: "NonEmptyString", # required
1131
- # id: "NonEmptyString", # required
1132
- # },
1133
- # ],
1134
- # })
1135
- #
1136
- # @example Response structure
1137
- #
1138
- # resp.processed_findings #=> Array
1139
- # resp.processed_findings[0].id #=> String
1140
- # resp.processed_findings[0].product_arn #=> String
1141
- # resp.unprocessed_findings #=> Array
1142
- # resp.unprocessed_findings[0].finding_identifier.id #=> String
1143
- # resp.unprocessed_findings[0].finding_identifier.product_arn #=> String
1144
- # resp.unprocessed_findings[0].error_code #=> String
1145
- # resp.unprocessed_findings[0].error_message #=> String
1146
- #
1147
- # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateFindings AWS API Documentation
1148
- #
1149
- # @overload batch_update_findings(params = {})
1150
- # @param [Hash] params ({})
1151
- def batch_update_findings(params = {}, options = {})
1152
- req = build_request(:batch_update_findings, params)
1153
- req.send_request(options)
1154
- end
1155
-
1156
- # For a batch of security controls and standards, this operation updates
1157
- # the enablement status of a control in a standard.
1158
- #
1159
- # @option params [required, Array<Types::StandardsControlAssociationUpdate>] :standards_control_association_updates
1160
- # Updates the enablement status of a security control in a specified
1161
- # standard.
1162
- #
1163
- # @return [Types::BatchUpdateStandardsControlAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1164
- #
1165
- # * {Types::BatchUpdateStandardsControlAssociationsResponse#unprocessed_association_updates #unprocessed_association_updates} => Array&lt;Types::UnprocessedStandardsControlAssociationUpdate&gt;
1166
- #
1167
- #
1168
- # @example Example: To update enablement status of a batch of controls
1169
- #
1170
- # # The following example disables CloudWatch.12 in CIS AWS Foundations Benchmark v1.2.0. The example returns an error for
1171
- # # CloudTrail.1 because an invalid standard ARN is provided.
1172
- #
1173
- # resp = client.batch_update_standards_control_associations({
1174
- # standards_control_association_updates: [
1175
- # {
1176
- # association_status: "DISABLED",
1177
- # security_control_id: "CloudTrail.1",
1178
- # standards_arn: "arn:aws:securityhub:::ruleset/sample-standard/v/1.1.0",
1179
- # updated_reason: "Not relevant to environment",
1180
- # },
1181
- # {
1182
- # association_status: "DISABLED",
1183
- # security_control_id: "CloudWatch.12",
1184
- # standards_arn: "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0",
1185
- # updated_reason: "Not relevant to environment",
1186
- # },
1187
- # ],
1188
- # })
1189
- #
1190
- # resp.to_h outputs the following:
1191
- # {
1192
- # unprocessed_association_updates: [
1193
- # {
1194
- # error_code: "INVALID_INPUT",
1195
- # error_reason: "Invalid Standards Arn: 'arn:aws:securityhub:::ruleset/sample-standard/v/1.1.0'",
1196
- # standards_control_association_update: {
1197
- # association_status: "DISABLED",
1198
- # security_control_id: "CloudTrail.1",
1199
- # standards_arn: "arn:aws:securityhub:::ruleset/sample-standard/v/1.1.0",
1200
- # updated_reason: "Test Reason",
1201
- # },
1202
- # },
1203
- # ],
1204
- # }
1205
- #
1206
- # @example Request syntax with placeholder values
1207
- #
1208
- # resp = client.batch_update_standards_control_associations({
1209
- # standards_control_association_updates: [ # required
1810
+ # related_findings: [
1811
+ # {
1812
+ # product_arn: "NonEmptyString", # required
1813
+ # id: "NonEmptyString", # required
1814
+ # },
1815
+ # ],
1816
+ # })
1817
+ #
1818
+ # @example Response structure
1819
+ #
1820
+ # resp.processed_findings #=> Array
1821
+ # resp.processed_findings[0].id #=> String
1822
+ # resp.processed_findings[0].product_arn #=> String
1823
+ # resp.unprocessed_findings #=> Array
1824
+ # resp.unprocessed_findings[0].finding_identifier.id #=> String
1825
+ # resp.unprocessed_findings[0].finding_identifier.product_arn #=> String
1826
+ # resp.unprocessed_findings[0].error_code #=> String
1827
+ # resp.unprocessed_findings[0].error_message #=> String
1828
+ #
1829
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateFindings AWS API Documentation
1830
+ #
1831
+ # @overload batch_update_findings(params = {})
1832
+ # @param [Hash] params ({})
1833
+ def batch_update_findings(params = {}, options = {})
1834
+ req = build_request(:batch_update_findings, params)
1835
+ req.send_request(options)
1836
+ end
1837
+
1838
+ # For a batch of security controls and standards, this operation updates
1839
+ # the enablement status of a control in a standard.
1840
+ #
1841
+ # @option params [required, Array<Types::StandardsControlAssociationUpdate>] :standards_control_association_updates
1842
+ # Updates the enablement status of a security control in a specified
1843
+ # standard.
1844
+ #
1845
+ # @return [Types::BatchUpdateStandardsControlAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1846
+ #
1847
+ # * {Types::BatchUpdateStandardsControlAssociationsResponse#unprocessed_association_updates #unprocessed_association_updates} => Array&lt;Types::UnprocessedStandardsControlAssociationUpdate&gt;
1848
+ #
1849
+ #
1850
+ # @example Example: To update enablement status of a batch of controls
1851
+ #
1852
+ # # The following example disables CloudWatch.12 in CIS AWS Foundations Benchmark v1.2.0. The example returns an error for
1853
+ # # CloudTrail.1 because an invalid standard ARN is provided.
1854
+ #
1855
+ # resp = client.batch_update_standards_control_associations({
1856
+ # standards_control_association_updates: [
1857
+ # {
1858
+ # association_status: "DISABLED",
1859
+ # security_control_id: "CloudTrail.1",
1860
+ # standards_arn: "arn:aws:securityhub:::ruleset/sample-standard/v/1.1.0",
1861
+ # updated_reason: "Not relevant to environment",
1862
+ # },
1863
+ # {
1864
+ # association_status: "DISABLED",
1865
+ # security_control_id: "CloudWatch.12",
1866
+ # standards_arn: "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0",
1867
+ # updated_reason: "Not relevant to environment",
1868
+ # },
1869
+ # ],
1870
+ # })
1871
+ #
1872
+ # resp.to_h outputs the following:
1873
+ # {
1874
+ # unprocessed_association_updates: [
1875
+ # {
1876
+ # error_code: "INVALID_INPUT",
1877
+ # error_reason: "Invalid Standards Arn: 'arn:aws:securityhub:::ruleset/sample-standard/v/1.1.0'",
1878
+ # standards_control_association_update: {
1879
+ # association_status: "DISABLED",
1880
+ # security_control_id: "CloudTrail.1",
1881
+ # standards_arn: "arn:aws:securityhub:::ruleset/sample-standard/v/1.1.0",
1882
+ # updated_reason: "Test Reason",
1883
+ # },
1884
+ # },
1885
+ # ],
1886
+ # }
1887
+ #
1888
+ # @example Request syntax with placeholder values
1889
+ #
1890
+ # resp = client.batch_update_standards_control_associations({
1891
+ # standards_control_association_updates: [ # required
1892
+ # {
1893
+ # standards_arn: "NonEmptyString", # required
1894
+ # security_control_id: "NonEmptyString", # required
1895
+ # association_status: "ENABLED", # required, accepts ENABLED, DISABLED
1896
+ # updated_reason: "NonEmptyString",
1897
+ # },
1898
+ # ],
1899
+ # })
1900
+ #
1901
+ # @example Response structure
1902
+ #
1903
+ # resp.unprocessed_association_updates #=> Array
1904
+ # resp.unprocessed_association_updates[0].standards_control_association_update.standards_arn #=> String
1905
+ # resp.unprocessed_association_updates[0].standards_control_association_update.security_control_id #=> String
1906
+ # resp.unprocessed_association_updates[0].standards_control_association_update.association_status #=> String, one of "ENABLED", "DISABLED"
1907
+ # resp.unprocessed_association_updates[0].standards_control_association_update.updated_reason #=> String
1908
+ # resp.unprocessed_association_updates[0].error_code #=> String, one of "INVALID_INPUT", "ACCESS_DENIED", "NOT_FOUND", "LIMIT_EXCEEDED"
1909
+ # resp.unprocessed_association_updates[0].error_reason #=> String
1910
+ #
1911
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateStandardsControlAssociations AWS API Documentation
1912
+ #
1913
+ # @overload batch_update_standards_control_associations(params = {})
1914
+ # @param [Hash] params ({})
1915
+ def batch_update_standards_control_associations(params = {}, options = {})
1916
+ req = build_request(:batch_update_standards_control_associations, params)
1917
+ req.send_request(options)
1918
+ end
1919
+
1920
+ # Creates a custom action target in Security Hub.
1921
+ #
1922
+ # You can use custom actions on findings and insights in Security Hub to
1923
+ # trigger target actions in Amazon CloudWatch Events.
1924
+ #
1925
+ # @option params [required, String] :name
1926
+ # The name of the custom action target. Can contain up to 20 characters.
1927
+ #
1928
+ # @option params [required, String] :description
1929
+ # The description for the custom action target.
1930
+ #
1931
+ # @option params [required, String] :id
1932
+ # The ID for the custom action target. Can contain up to 20 alphanumeric
1933
+ # characters.
1934
+ #
1935
+ # @return [Types::CreateActionTargetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1936
+ #
1937
+ # * {Types::CreateActionTargetResponse#action_target_arn #action_target_arn} => String
1938
+ #
1939
+ #
1940
+ # @example Example: To create a custom action target
1941
+ #
1942
+ # # The following example creates a custom action target in Security Hub. Custom actions on findings and insights
1943
+ # # automatically trigger actions in Amazon CloudWatch Events.
1944
+ #
1945
+ # resp = client.create_action_target({
1946
+ # description: "Action to send the finding for remediation tracking",
1947
+ # id: "Remediation",
1948
+ # name: "Send to remediation",
1949
+ # })
1950
+ #
1951
+ # resp.to_h outputs the following:
1952
+ # {
1953
+ # action_target_arn: "arn:aws:securityhub:us-west-1:123456789012:action/custom/Remediation",
1954
+ # }
1955
+ #
1956
+ # @example Request syntax with placeholder values
1957
+ #
1958
+ # resp = client.create_action_target({
1959
+ # name: "NonEmptyString", # required
1960
+ # description: "NonEmptyString", # required
1961
+ # id: "NonEmptyString", # required
1962
+ # })
1963
+ #
1964
+ # @example Response structure
1965
+ #
1966
+ # resp.action_target_arn #=> String
1967
+ #
1968
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateActionTarget AWS API Documentation
1969
+ #
1970
+ # @overload create_action_target(params = {})
1971
+ # @param [Hash] params ({})
1972
+ def create_action_target(params = {}, options = {})
1973
+ req = build_request(:create_action_target, params)
1974
+ req.send_request(options)
1975
+ end
1976
+
1977
+ # Creates an automation rule based on input parameters.
1978
+ #
1979
+ # @option params [Hash<String,String>] :tags
1980
+ # User-defined tags that help you label the purpose of a rule.
1981
+ #
1982
+ # @option params [String] :rule_status
1983
+ # Whether the rule is active after it is created. If this parameter is
1984
+ # equal to `Enabled`, Security Hub will apply the rule to findings and
1985
+ # finding updates after the rule is created. To change the value of this
1986
+ # parameter after creating a rule, use `BatchUpdateAutomationRules`.
1987
+ #
1988
+ # @option params [required, Integer] :rule_order
1989
+ # An integer ranging from 1 to 1000 that represents the order in which
1990
+ # the rule action is applied to findings. Security Hub applies rules
1991
+ # with lower values for this parameter first.
1992
+ #
1993
+ # @option params [required, String] :rule_name
1994
+ # The name of the rule.
1995
+ #
1996
+ # @option params [required, String] :description
1997
+ # A description of the rule.
1998
+ #
1999
+ # @option params [Boolean] :is_terminal
2000
+ # Specifies whether a rule is the last to be applied with respect to a
2001
+ # finding that matches the rule criteria. This is useful when a finding
2002
+ # matches the criteria for multiple rules, and each rule has different
2003
+ # actions. If the value of this field is set to `true` for a rule,
2004
+ # Security Hub applies the rule action to a finding that matches the
2005
+ # rule criteria and won't evaluate other rules for the finding. The
2006
+ # default value of this field is `false`.
2007
+ #
2008
+ # @option params [required, Types::AutomationRulesFindingFilters] :criteria
2009
+ # A set of ASFF finding field attributes and corresponding expected
2010
+ # values that Security Hub uses to filter findings. If a finding matches
2011
+ # the conditions specified in this parameter, Security Hub applies the
2012
+ # rule action to the finding.
2013
+ #
2014
+ # @option params [required, Array<Types::AutomationRulesAction>] :actions
2015
+ # One or more actions to update finding fields if a finding matches the
2016
+ # conditions specified in `Criteria`.
2017
+ #
2018
+ # @return [Types::CreateAutomationRuleResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2019
+ #
2020
+ # * {Types::CreateAutomationRuleResponse#rule_arn #rule_arn} => String
2021
+ #
2022
+ #
2023
+ # @example Example: To create an automation rule
2024
+ #
2025
+ # # The following example creates an automation rule.
2026
+ #
2027
+ # resp = client.create_automation_rule({
2028
+ # actions: [
2029
+ # {
2030
+ # finding_fields_update: {
2031
+ # note: {
2032
+ # text: "This is a critical S3 bucket, please look into this ASAP",
2033
+ # updated_by: "test-user",
2034
+ # },
2035
+ # severity: {
2036
+ # label: "CRITICAL",
2037
+ # },
2038
+ # },
2039
+ # type: "FINDING_FIELDS_UPDATE",
2040
+ # },
2041
+ # ],
2042
+ # criteria: {
2043
+ # compliance_status: [
2044
+ # {
2045
+ # comparison: "EQUALS",
2046
+ # value: "FAILED",
2047
+ # },
2048
+ # ],
2049
+ # product_name: [
2050
+ # {
2051
+ # comparison: "EQUALS",
2052
+ # value: "Security Hub",
2053
+ # },
2054
+ # ],
2055
+ # record_state: [
2056
+ # {
2057
+ # comparison: "EQUALS",
2058
+ # value: "ACTIVE",
2059
+ # },
2060
+ # ],
2061
+ # resource_id: [
2062
+ # {
2063
+ # comparison: "EQUALS",
2064
+ # value: "arn:aws:s3:::examplebucket/developers/design_info.doc",
2065
+ # },
2066
+ # ],
2067
+ # workflow_status: [
2068
+ # {
2069
+ # comparison: "EQUALS",
2070
+ # value: "NEW",
2071
+ # },
2072
+ # ],
2073
+ # },
2074
+ # description: "Elevate finding severity to Critical for important resources",
2075
+ # is_terminal: false,
2076
+ # rule_name: "Elevate severity for important resources",
2077
+ # rule_order: 1,
2078
+ # rule_status: "ENABLED",
2079
+ # tags: {
2080
+ # "important-resources-rule" => "s3-bucket",
2081
+ # },
2082
+ # })
2083
+ #
2084
+ # resp.to_h outputs the following:
2085
+ # {
2086
+ # rule_arn: "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
2087
+ # }
2088
+ #
2089
+ # @example Request syntax with placeholder values
2090
+ #
2091
+ # resp = client.create_automation_rule({
2092
+ # tags: {
2093
+ # "TagKey" => "TagValue",
2094
+ # },
2095
+ # rule_status: "ENABLED", # accepts ENABLED, DISABLED
2096
+ # rule_order: 1, # required
2097
+ # rule_name: "NonEmptyString", # required
2098
+ # description: "NonEmptyString", # required
2099
+ # is_terminal: false,
2100
+ # criteria: { # required
2101
+ # product_arn: [
2102
+ # {
2103
+ # value: "NonEmptyString",
2104
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2105
+ # },
2106
+ # ],
2107
+ # aws_account_id: [
2108
+ # {
2109
+ # value: "NonEmptyString",
2110
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2111
+ # },
2112
+ # ],
2113
+ # id: [
2114
+ # {
2115
+ # value: "NonEmptyString",
2116
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2117
+ # },
2118
+ # ],
2119
+ # generator_id: [
2120
+ # {
2121
+ # value: "NonEmptyString",
2122
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2123
+ # },
2124
+ # ],
2125
+ # type: [
2126
+ # {
2127
+ # value: "NonEmptyString",
2128
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2129
+ # },
2130
+ # ],
2131
+ # first_observed_at: [
2132
+ # {
2133
+ # start: "NonEmptyString",
2134
+ # end: "NonEmptyString",
2135
+ # date_range: {
2136
+ # value: 1,
2137
+ # unit: "DAYS", # accepts DAYS
2138
+ # },
2139
+ # },
2140
+ # ],
2141
+ # last_observed_at: [
2142
+ # {
2143
+ # start: "NonEmptyString",
2144
+ # end: "NonEmptyString",
2145
+ # date_range: {
2146
+ # value: 1,
2147
+ # unit: "DAYS", # accepts DAYS
2148
+ # },
2149
+ # },
2150
+ # ],
2151
+ # created_at: [
2152
+ # {
2153
+ # start: "NonEmptyString",
2154
+ # end: "NonEmptyString",
2155
+ # date_range: {
2156
+ # value: 1,
2157
+ # unit: "DAYS", # accepts DAYS
2158
+ # },
2159
+ # },
2160
+ # ],
2161
+ # updated_at: [
2162
+ # {
2163
+ # start: "NonEmptyString",
2164
+ # end: "NonEmptyString",
2165
+ # date_range: {
2166
+ # value: 1,
2167
+ # unit: "DAYS", # accepts DAYS
2168
+ # },
2169
+ # },
2170
+ # ],
2171
+ # confidence: [
2172
+ # {
2173
+ # gte: 1.0,
2174
+ # lte: 1.0,
2175
+ # eq: 1.0,
2176
+ # },
2177
+ # ],
2178
+ # criticality: [
2179
+ # {
2180
+ # gte: 1.0,
2181
+ # lte: 1.0,
2182
+ # eq: 1.0,
2183
+ # },
2184
+ # ],
2185
+ # title: [
2186
+ # {
2187
+ # value: "NonEmptyString",
2188
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2189
+ # },
2190
+ # ],
2191
+ # description: [
2192
+ # {
2193
+ # value: "NonEmptyString",
2194
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2195
+ # },
2196
+ # ],
2197
+ # source_url: [
2198
+ # {
2199
+ # value: "NonEmptyString",
2200
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2201
+ # },
2202
+ # ],
2203
+ # product_name: [
2204
+ # {
2205
+ # value: "NonEmptyString",
2206
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2207
+ # },
2208
+ # ],
2209
+ # company_name: [
2210
+ # {
2211
+ # value: "NonEmptyString",
2212
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2213
+ # },
2214
+ # ],
2215
+ # severity_label: [
2216
+ # {
2217
+ # value: "NonEmptyString",
2218
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2219
+ # },
2220
+ # ],
2221
+ # resource_type: [
2222
+ # {
2223
+ # value: "NonEmptyString",
2224
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2225
+ # },
2226
+ # ],
2227
+ # resource_id: [
2228
+ # {
2229
+ # value: "NonEmptyString",
2230
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2231
+ # },
2232
+ # ],
2233
+ # resource_partition: [
2234
+ # {
2235
+ # value: "NonEmptyString",
2236
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2237
+ # },
2238
+ # ],
2239
+ # resource_region: [
2240
+ # {
2241
+ # value: "NonEmptyString",
2242
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2243
+ # },
2244
+ # ],
2245
+ # resource_tags: [
2246
+ # {
2247
+ # key: "NonEmptyString",
2248
+ # value: "NonEmptyString",
2249
+ # comparison: "EQUALS", # accepts EQUALS, NOT_EQUALS
2250
+ # },
2251
+ # ],
2252
+ # resource_details_other: [
2253
+ # {
2254
+ # key: "NonEmptyString",
2255
+ # value: "NonEmptyString",
2256
+ # comparison: "EQUALS", # accepts EQUALS, NOT_EQUALS
2257
+ # },
2258
+ # ],
2259
+ # compliance_status: [
2260
+ # {
2261
+ # value: "NonEmptyString",
2262
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2263
+ # },
2264
+ # ],
2265
+ # compliance_security_control_id: [
2266
+ # {
2267
+ # value: "NonEmptyString",
2268
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2269
+ # },
2270
+ # ],
2271
+ # compliance_associated_standards_id: [
2272
+ # {
2273
+ # value: "NonEmptyString",
2274
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2275
+ # },
2276
+ # ],
2277
+ # verification_state: [
2278
+ # {
2279
+ # value: "NonEmptyString",
2280
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2281
+ # },
2282
+ # ],
2283
+ # workflow_status: [
2284
+ # {
2285
+ # value: "NonEmptyString",
2286
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2287
+ # },
2288
+ # ],
2289
+ # record_state: [
2290
+ # {
2291
+ # value: "NonEmptyString",
2292
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2293
+ # },
2294
+ # ],
2295
+ # related_findings_product_arn: [
2296
+ # {
2297
+ # value: "NonEmptyString",
2298
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2299
+ # },
2300
+ # ],
2301
+ # related_findings_id: [
2302
+ # {
2303
+ # value: "NonEmptyString",
2304
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2305
+ # },
2306
+ # ],
2307
+ # note_text: [
2308
+ # {
2309
+ # value: "NonEmptyString",
2310
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2311
+ # },
2312
+ # ],
2313
+ # note_updated_at: [
2314
+ # {
2315
+ # start: "NonEmptyString",
2316
+ # end: "NonEmptyString",
2317
+ # date_range: {
2318
+ # value: 1,
2319
+ # unit: "DAYS", # accepts DAYS
2320
+ # },
2321
+ # },
2322
+ # ],
2323
+ # note_updated_by: [
2324
+ # {
2325
+ # value: "NonEmptyString",
2326
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS
2327
+ # },
2328
+ # ],
2329
+ # user_defined_fields: [
2330
+ # {
2331
+ # key: "NonEmptyString",
2332
+ # value: "NonEmptyString",
2333
+ # comparison: "EQUALS", # accepts EQUALS, NOT_EQUALS
2334
+ # },
2335
+ # ],
2336
+ # },
2337
+ # actions: [ # required
1210
2338
  # {
1211
- # standards_arn: "NonEmptyString", # required
1212
- # security_control_id: "NonEmptyString", # required
1213
- # association_status: "ENABLED", # required, accepts ENABLED, DISABLED
1214
- # updated_reason: "NonEmptyString",
2339
+ # type: "FINDING_FIELDS_UPDATE", # accepts FINDING_FIELDS_UPDATE
2340
+ # finding_fields_update: {
2341
+ # note: {
2342
+ # text: "NonEmptyString", # required
2343
+ # updated_by: "NonEmptyString", # required
2344
+ # },
2345
+ # severity: {
2346
+ # normalized: 1,
2347
+ # product: 1.0,
2348
+ # label: "INFORMATIONAL", # accepts INFORMATIONAL, LOW, MEDIUM, HIGH, CRITICAL
2349
+ # },
2350
+ # verification_state: "UNKNOWN", # accepts UNKNOWN, TRUE_POSITIVE, FALSE_POSITIVE, BENIGN_POSITIVE
2351
+ # confidence: 1,
2352
+ # criticality: 1,
2353
+ # types: ["NonEmptyString"],
2354
+ # user_defined_fields: {
2355
+ # "NonEmptyString" => "NonEmptyString",
2356
+ # },
2357
+ # workflow: {
2358
+ # status: "NEW", # accepts NEW, NOTIFIED, RESOLVED, SUPPRESSED
2359
+ # },
2360
+ # related_findings: [
2361
+ # {
2362
+ # product_arn: "NonEmptyString", # required
2363
+ # id: "NonEmptyString", # required
2364
+ # },
2365
+ # ],
2366
+ # },
1215
2367
  # },
1216
2368
  # ],
1217
2369
  # })
1218
2370
  #
1219
2371
  # @example Response structure
1220
2372
  #
1221
- # resp.unprocessed_association_updates #=> Array
1222
- # resp.unprocessed_association_updates[0].standards_control_association_update.standards_arn #=> String
1223
- # resp.unprocessed_association_updates[0].standards_control_association_update.security_control_id #=> String
1224
- # resp.unprocessed_association_updates[0].standards_control_association_update.association_status #=> String, one of "ENABLED", "DISABLED"
1225
- # resp.unprocessed_association_updates[0].standards_control_association_update.updated_reason #=> String
1226
- # resp.unprocessed_association_updates[0].error_code #=> String, one of "INVALID_INPUT", "ACCESS_DENIED", "NOT_FOUND", "LIMIT_EXCEEDED"
1227
- # resp.unprocessed_association_updates[0].error_reason #=> String
1228
- #
1229
- # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateStandardsControlAssociations AWS API Documentation
1230
- #
1231
- # @overload batch_update_standards_control_associations(params = {})
1232
- # @param [Hash] params ({})
1233
- def batch_update_standards_control_associations(params = {}, options = {})
1234
- req = build_request(:batch_update_standards_control_associations, params)
1235
- req.send_request(options)
1236
- end
1237
-
1238
- # Creates a custom action target in Security Hub.
1239
- #
1240
- # You can use custom actions on findings and insights in Security Hub to
1241
- # trigger target actions in Amazon CloudWatch Events.
1242
- #
1243
- # @option params [required, String] :name
1244
- # The name of the custom action target. Can contain up to 20 characters.
1245
- #
1246
- # @option params [required, String] :description
1247
- # The description for the custom action target.
1248
- #
1249
- # @option params [required, String] :id
1250
- # The ID for the custom action target. Can contain up to 20 alphanumeric
1251
- # characters.
1252
- #
1253
- # @return [Types::CreateActionTargetResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1254
- #
1255
- # * {Types::CreateActionTargetResponse#action_target_arn #action_target_arn} => String
1256
- #
1257
- #
1258
- # @example Example: To create a custom action target
1259
- #
1260
- # # The following example creates a custom action target in Security Hub. Custom actions on findings and insights
1261
- # # automatically trigger actions in Amazon CloudWatch Events.
1262
- #
1263
- # resp = client.create_action_target({
1264
- # description: "Action to send the finding for remediation tracking",
1265
- # id: "Remediation",
1266
- # name: "Send to remediation",
1267
- # })
1268
- #
1269
- # resp.to_h outputs the following:
1270
- # {
1271
- # action_target_arn: "arn:aws:securityhub:us-west-1:123456789012:action/custom/Remediation",
1272
- # }
1273
- #
1274
- # @example Request syntax with placeholder values
1275
- #
1276
- # resp = client.create_action_target({
1277
- # name: "NonEmptyString", # required
1278
- # description: "NonEmptyString", # required
1279
- # id: "NonEmptyString", # required
1280
- # })
1281
- #
1282
- # @example Response structure
1283
- #
1284
- # resp.action_target_arn #=> String
2373
+ # resp.rule_arn #=> String
1285
2374
  #
1286
- # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateActionTarget AWS API Documentation
2375
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateAutomationRule AWS API Documentation
1287
2376
  #
1288
- # @overload create_action_target(params = {})
2377
+ # @overload create_automation_rule(params = {})
1289
2378
  # @param [Hash] params ({})
1290
- def create_action_target(params = {}, options = {})
1291
- req = build_request(:create_action_target, params)
2379
+ def create_automation_rule(params = {}, options = {})
2380
+ req = build_request(:create_automation_rule, params)
1292
2381
  req.send_request(options)
1293
2382
  end
1294
2383
 
@@ -5156,6 +6245,90 @@ module Aws::SecurityHub
5156
6245
  req.send_request(options)
5157
6246
  end
5158
6247
 
6248
+ # A list of automation rules and their metadata for the calling account.
6249
+ #
6250
+ # @option params [String] :next_token
6251
+ # A token to specify where to start paginating the response. This is the
6252
+ # `NextToken` from a previously truncated response. On your first call
6253
+ # to the `ListAutomationRules` API, set the value of this parameter to
6254
+ # `NULL`.
6255
+ #
6256
+ # @option params [Integer] :max_results
6257
+ # The maximum number of rules to return in the response. This currently
6258
+ # ranges from 1 to 100.
6259
+ #
6260
+ # @return [Types::ListAutomationRulesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6261
+ #
6262
+ # * {Types::ListAutomationRulesResponse#automation_rules_metadata #automation_rules_metadata} => Array&lt;Types::AutomationRulesMetadata&gt;
6263
+ # * {Types::ListAutomationRulesResponse#next_token #next_token} => String
6264
+ #
6265
+ #
6266
+ # @example Example: To list automation rules
6267
+ #
6268
+ # # The following example lists automation rules and rule metadata in the calling account.
6269
+ #
6270
+ # resp = client.list_automation_rules({
6271
+ # max_results: 2,
6272
+ # next_token: "example-token",
6273
+ # })
6274
+ #
6275
+ # resp.to_h outputs the following:
6276
+ # {
6277
+ # automation_rules_metadata: [
6278
+ # {
6279
+ # created_at: Time.parse("2022-08-31T01:52:33.250Z"),
6280
+ # created_by: "AROAJURBUYQQNL5OL2TIM:TEST-16MJ75L9VBK14",
6281
+ # description: "IAM.8 is a known issue and can be resolved",
6282
+ # rule_arn: "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
6283
+ # rule_name: "sample-rule-name-1",
6284
+ # rule_order: 1,
6285
+ # rule_status: "ENABLED",
6286
+ # updated_at: Time.parse("2022-08-31T01:52:33.250Z"),
6287
+ # },
6288
+ # {
6289
+ # created_at: Time.parse("2022-08-31T01:52:33.250Z"),
6290
+ # created_by: "AROAJURBUYQQNL5OL2TIM:TEST-16MJ75L9VBK14",
6291
+ # description: "Lambda.2 is a known issue and can be resolved",
6292
+ # rule_arn: "arn:aws:securityhub:us-east-1:123456789012:automation-rule/a1b2c3d4-5678-90ab-cdef-EXAMPLE22222",
6293
+ # rule_name: "sample-rule-name-2",
6294
+ # rule_order: 2,
6295
+ # rule_status: "ENABLED",
6296
+ # updated_at: Time.parse("2022-08-31T01:52:33.250Z"),
6297
+ # },
6298
+ # ],
6299
+ # next_token: "example-token",
6300
+ # }
6301
+ #
6302
+ # @example Request syntax with placeholder values
6303
+ #
6304
+ # resp = client.list_automation_rules({
6305
+ # next_token: "NextToken",
6306
+ # max_results: 1,
6307
+ # })
6308
+ #
6309
+ # @example Response structure
6310
+ #
6311
+ # resp.automation_rules_metadata #=> Array
6312
+ # resp.automation_rules_metadata[0].rule_arn #=> String
6313
+ # resp.automation_rules_metadata[0].rule_status #=> String, one of "ENABLED", "DISABLED"
6314
+ # resp.automation_rules_metadata[0].rule_order #=> Integer
6315
+ # resp.automation_rules_metadata[0].rule_name #=> String
6316
+ # resp.automation_rules_metadata[0].description #=> String
6317
+ # resp.automation_rules_metadata[0].is_terminal #=> Boolean
6318
+ # resp.automation_rules_metadata[0].created_at #=> Time
6319
+ # resp.automation_rules_metadata[0].updated_at #=> Time
6320
+ # resp.automation_rules_metadata[0].created_by #=> String
6321
+ # resp.next_token #=> String
6322
+ #
6323
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListAutomationRules AWS API Documentation
6324
+ #
6325
+ # @overload list_automation_rules(params = {})
6326
+ # @param [Hash] params ({})
6327
+ def list_automation_rules(params = {}, options = {})
6328
+ req = build_request(:list_automation_rules, params)
6329
+ req.send_request(options)
6330
+ end
6331
+
5159
6332
  # Lists all findings-generating solutions (products) that you are
5160
6333
  # subscribed to receive findings from in Security Hub.
5161
6334
  #
@@ -7510,7 +8683,7 @@ module Aws::SecurityHub
7510
8683
  params: params,
7511
8684
  config: config)
7512
8685
  context[:gem_name] = 'aws-sdk-securityhub'
7513
- context[:gem_version] = '1.82.0'
8686
+ context[:gem_version] = '1.84.0'
7514
8687
  Seahorse::Client::Request.new(handlers, context)
7515
8688
  end
7516
8689