aws-sdk-securityhub 1.96.0 → 1.98.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.
@@ -930,6 +930,15 @@ module Aws::SecurityHub
930
930
  # resp.rules[0].criteria.user_defined_fields[0].key #=> String
931
931
  # resp.rules[0].criteria.user_defined_fields[0].value #=> String
932
932
  # resp.rules[0].criteria.user_defined_fields[0].comparison #=> String, one of "EQUALS", "NOT_EQUALS", "CONTAINS", "NOT_CONTAINS"
933
+ # resp.rules[0].criteria.resource_application_arn #=> Array
934
+ # resp.rules[0].criteria.resource_application_arn[0].value #=> String
935
+ # resp.rules[0].criteria.resource_application_arn[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS", "CONTAINS", "NOT_CONTAINS"
936
+ # resp.rules[0].criteria.resource_application_name #=> Array
937
+ # resp.rules[0].criteria.resource_application_name[0].value #=> String
938
+ # resp.rules[0].criteria.resource_application_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS", "CONTAINS", "NOT_CONTAINS"
939
+ # resp.rules[0].criteria.aws_account_name #=> Array
940
+ # resp.rules[0].criteria.aws_account_name[0].value #=> String
941
+ # resp.rules[0].criteria.aws_account_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS", "CONTAINS", "NOT_CONTAINS"
933
942
  # resp.rules[0].actions #=> Array
934
943
  # resp.rules[0].actions[0].type #=> String, one of "FINDING_FIELDS_UPDATE"
935
944
  # resp.rules[0].actions[0].finding_fields_update.note.text #=> String
@@ -965,6 +974,108 @@ module Aws::SecurityHub
965
974
  req.send_request(options)
966
975
  end
967
976
 
977
+ # Returns associations between an Security Hub configuration and a batch
978
+ # of target accounts, organizational units, or the root. Only the
979
+ # Security Hub delegated administrator can invoke this operation from
980
+ # the home Region. A configuration can refer to a configuration policy
981
+ # or to a self-managed configuration.
982
+ #
983
+ # @option params [required, Array<Types::ConfigurationPolicyAssociation>] :configuration_policy_association_identifiers
984
+ # Specifies one or more target account IDs, organizational unit (OU)
985
+ # IDs, or the root ID to retrieve associations for.
986
+ #
987
+ # @return [Types::BatchGetConfigurationPolicyAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
988
+ #
989
+ # * {Types::BatchGetConfigurationPolicyAssociationsResponse#configuration_policy_associations #configuration_policy_associations} => Array&lt;Types::ConfigurationPolicyAssociationSummary&gt;
990
+ # * {Types::BatchGetConfigurationPolicyAssociationsResponse#unprocessed_configuration_policy_associations #unprocessed_configuration_policy_associations} => Array&lt;Types::UnprocessedConfigurationPolicyAssociation&gt;
991
+ #
992
+ #
993
+ # @example Example: To get configuration associations for a batch of targets
994
+ #
995
+ # # This operation provides details about configuration associations for a batch of target accounts, organizational units,
996
+ # # or the root.
997
+ #
998
+ # resp = client.batch_get_configuration_policy_associations({
999
+ # configuration_policy_association_identifiers: [
1000
+ # {
1001
+ # target: {
1002
+ # account_id: "111122223333",
1003
+ # },
1004
+ # },
1005
+ # {
1006
+ # target: {
1007
+ # root_id: "r-f6g7h8i9j0example",
1008
+ # },
1009
+ # },
1010
+ # ],
1011
+ # })
1012
+ #
1013
+ # resp.to_h outputs the following:
1014
+ # {
1015
+ # configuration_policy_associations: [
1016
+ # {
1017
+ # association_status: "SUCCESS",
1018
+ # association_status_message: "This field is only populated for a failed association",
1019
+ # association_type: "INHERITED",
1020
+ # configuration_policy_id: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
1021
+ # target_id: "111122223333",
1022
+ # target_type: "ACCOUNT",
1023
+ # updated_at: Time.parse("2023-01-11T06:17:17.154Z"),
1024
+ # },
1025
+ # ],
1026
+ # unprocessed_configuration_policy_associations: [
1027
+ # {
1028
+ # configuration_policy_association_identifiers: {
1029
+ # target: {
1030
+ # root_id: "r-f6g7h8i9j0example",
1031
+ # },
1032
+ # },
1033
+ # error_code: "400",
1034
+ # error_reason: "You do not have sufficient access to perform this action.",
1035
+ # },
1036
+ # ],
1037
+ # }
1038
+ #
1039
+ # @example Request syntax with placeholder values
1040
+ #
1041
+ # resp = client.batch_get_configuration_policy_associations({
1042
+ # configuration_policy_association_identifiers: [ # required
1043
+ # {
1044
+ # target: {
1045
+ # account_id: "NonEmptyString",
1046
+ # organizational_unit_id: "NonEmptyString",
1047
+ # root_id: "NonEmptyString",
1048
+ # },
1049
+ # },
1050
+ # ],
1051
+ # })
1052
+ #
1053
+ # @example Response structure
1054
+ #
1055
+ # resp.configuration_policy_associations #=> Array
1056
+ # resp.configuration_policy_associations[0].configuration_policy_id #=> String
1057
+ # resp.configuration_policy_associations[0].target_id #=> String
1058
+ # resp.configuration_policy_associations[0].target_type #=> String, one of "ACCOUNT", "ORGANIZATIONAL_UNIT"
1059
+ # resp.configuration_policy_associations[0].association_type #=> String, one of "INHERITED", "APPLIED"
1060
+ # resp.configuration_policy_associations[0].updated_at #=> Time
1061
+ # resp.configuration_policy_associations[0].association_status #=> String, one of "PENDING", "SUCCESS", "FAILED"
1062
+ # resp.configuration_policy_associations[0].association_status_message #=> String
1063
+ # resp.unprocessed_configuration_policy_associations #=> Array
1064
+ # resp.unprocessed_configuration_policy_associations[0].configuration_policy_association_identifiers.target.account_id #=> String
1065
+ # resp.unprocessed_configuration_policy_associations[0].configuration_policy_association_identifiers.target.organizational_unit_id #=> String
1066
+ # resp.unprocessed_configuration_policy_associations[0].configuration_policy_association_identifiers.target.root_id #=> String
1067
+ # resp.unprocessed_configuration_policy_associations[0].error_code #=> String
1068
+ # resp.unprocessed_configuration_policy_associations[0].error_reason #=> String
1069
+ #
1070
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchGetConfigurationPolicyAssociations AWS API Documentation
1071
+ #
1072
+ # @overload batch_get_configuration_policy_associations(params = {})
1073
+ # @param [Hash] params ({})
1074
+ def batch_get_configuration_policy_associations(params = {}, options = {})
1075
+ req = build_request(:batch_get_configuration_policy_associations, params)
1076
+ req.send_request(options)
1077
+ end
1078
+
968
1079
  # Provides details about a batch of security controls for the current
969
1080
  # Amazon Web Services account and Amazon Web Services Region.
970
1081
  #
@@ -1606,6 +1717,24 @@ module Aws::SecurityHub
1606
1717
  # comparison: "EQUALS", # accepts EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS
1607
1718
  # },
1608
1719
  # ],
1720
+ # resource_application_arn: [
1721
+ # {
1722
+ # value: "NonEmptyString",
1723
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
1724
+ # },
1725
+ # ],
1726
+ # resource_application_name: [
1727
+ # {
1728
+ # value: "NonEmptyString",
1729
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
1730
+ # },
1731
+ # ],
1732
+ # aws_account_name: [
1733
+ # {
1734
+ # value: "NonEmptyString",
1735
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
1736
+ # },
1737
+ # ],
1609
1738
  # },
1610
1739
  # actions: [
1611
1740
  # {
@@ -2035,7 +2164,7 @@ module Aws::SecurityHub
2035
2164
  # Creates an automation rule based on input parameters.
2036
2165
  #
2037
2166
  # @option params [Hash<String,String>] :tags
2038
- # User-defined tags that help you label the purpose of a rule.
2167
+ # User-defined tags associated with an automation rule.
2039
2168
  #
2040
2169
  # @option params [String] :rule_status
2041
2170
  # Whether the rule is active after it is created. If this parameter is
@@ -2399,6 +2528,24 @@ module Aws::SecurityHub
2399
2528
  # comparison: "EQUALS", # accepts EQUALS, NOT_EQUALS, CONTAINS, NOT_CONTAINS
2400
2529
  # },
2401
2530
  # ],
2531
+ # resource_application_arn: [
2532
+ # {
2533
+ # value: "NonEmptyString",
2534
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
2535
+ # },
2536
+ # ],
2537
+ # resource_application_name: [
2538
+ # {
2539
+ # value: "NonEmptyString",
2540
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
2541
+ # },
2542
+ # ],
2543
+ # aws_account_name: [
2544
+ # {
2545
+ # value: "NonEmptyString",
2546
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
2547
+ # },
2548
+ # ],
2402
2549
  # },
2403
2550
  # actions: [ # required
2404
2551
  # {
@@ -2447,6 +2594,200 @@ module Aws::SecurityHub
2447
2594
  req.send_request(options)
2448
2595
  end
2449
2596
 
2597
+ # Creates a configuration policy with the defined configuration. Only
2598
+ # the Security Hub delegated administrator can invoke this operation
2599
+ # from the home Region.
2600
+ #
2601
+ # @option params [required, String] :name
2602
+ # The name of the configuration policy.
2603
+ #
2604
+ # @option params [String] :description
2605
+ # The description of the configuration policy.
2606
+ #
2607
+ # @option params [required, Types::Policy] :configuration_policy
2608
+ # An object that defines how Security Hub is configured. It includes
2609
+ # whether Security Hub is enabled or disabled, a list of enabled
2610
+ # security standards, a list of enabled or disabled security controls,
2611
+ # and a list of custom parameter values for specified controls. If you
2612
+ # provide a list of security controls that are enabled in the
2613
+ # configuration policy, Security Hub disables all other controls
2614
+ # (including newly released controls). If you provide a list of security
2615
+ # controls that are disabled in the configuration policy, Security Hub
2616
+ # enables all other controls (including newly released controls).
2617
+ #
2618
+ # @option params [Hash<String,String>] :tags
2619
+ # User-defined tags associated with a configuration policy. For more
2620
+ # information, see [Tagging Security Hub resources][1] in the *Security
2621
+ # Hub user guide*.
2622
+ #
2623
+ #
2624
+ #
2625
+ # [1]: https://docs.aws.amazon.com/securityhub/latest/userguide/tagging-resources.html
2626
+ #
2627
+ # @return [Types::CreateConfigurationPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2628
+ #
2629
+ # * {Types::CreateConfigurationPolicyResponse#arn #arn} => String
2630
+ # * {Types::CreateConfigurationPolicyResponse#id #id} => String
2631
+ # * {Types::CreateConfigurationPolicyResponse#name #name} => String
2632
+ # * {Types::CreateConfigurationPolicyResponse#description #description} => String
2633
+ # * {Types::CreateConfigurationPolicyResponse#updated_at #updated_at} => Time
2634
+ # * {Types::CreateConfigurationPolicyResponse#created_at #created_at} => Time
2635
+ # * {Types::CreateConfigurationPolicyResponse#configuration_policy #configuration_policy} => Types::Policy
2636
+ #
2637
+ #
2638
+ # @example Example: To create a configuration policy
2639
+ #
2640
+ # # This operation creates a configuration policy in Security Hub.
2641
+ #
2642
+ # resp = client.create_configuration_policy({
2643
+ # configuration_policy: {
2644
+ # security_hub: {
2645
+ # enabled_standard_identifiers: [
2646
+ # "arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0",
2647
+ # "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0",
2648
+ # ],
2649
+ # security_controls_configuration: {
2650
+ # disabled_security_control_identifiers: [
2651
+ # "CloudWatch.1",
2652
+ # ],
2653
+ # security_control_custom_parameters: [
2654
+ # {
2655
+ # parameters: {
2656
+ # "daysToExpiration" => {
2657
+ # value: {
2658
+ # integer: 14,
2659
+ # },
2660
+ # value_type: "CUSTOM",
2661
+ # },
2662
+ # },
2663
+ # security_control_id: "ACM.1",
2664
+ # },
2665
+ # ],
2666
+ # },
2667
+ # service_enabled: true,
2668
+ # },
2669
+ # },
2670
+ # description: "Configuration policy for testing FSBP and CIS",
2671
+ # name: "TestConfigurationPolicy",
2672
+ # })
2673
+ #
2674
+ # resp.to_h outputs the following:
2675
+ # {
2676
+ # arn: "arn:aws:securityhub:us-east-1:123456789012:configuration-policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
2677
+ # configuration_policy: {
2678
+ # security_hub: {
2679
+ # enabled_standard_identifiers: [
2680
+ # "arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0",
2681
+ # "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0",
2682
+ # ],
2683
+ # security_controls_configuration: {
2684
+ # disabled_security_control_identifiers: [
2685
+ # "CloudWatch.1",
2686
+ # ],
2687
+ # security_control_custom_parameters: [
2688
+ # {
2689
+ # parameters: {
2690
+ # "daysToExpiration" => {
2691
+ # value: {
2692
+ # integer: 14,
2693
+ # },
2694
+ # value_type: "CUSTOM",
2695
+ # },
2696
+ # },
2697
+ # security_control_id: "ACM.1",
2698
+ # },
2699
+ # ],
2700
+ # },
2701
+ # service_enabled: true,
2702
+ # },
2703
+ # },
2704
+ # created_at: Time.parse("2023-01-11T06:17:17.154Z"),
2705
+ # description: "Configuration policy for testing FSBP and CIS",
2706
+ # id: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
2707
+ # name: "TestConfigurationPolicy",
2708
+ # updated_at: Time.parse("2023-01-11T06:17:17.154Z"),
2709
+ # }
2710
+ #
2711
+ # @example Request syntax with placeholder values
2712
+ #
2713
+ # resp = client.create_configuration_policy({
2714
+ # name: "NonEmptyString", # required
2715
+ # description: "NonEmptyString",
2716
+ # configuration_policy: { # required
2717
+ # security_hub: {
2718
+ # service_enabled: false,
2719
+ # enabled_standard_identifiers: ["NonEmptyString"],
2720
+ # security_controls_configuration: {
2721
+ # enabled_security_control_identifiers: ["NonEmptyString"],
2722
+ # disabled_security_control_identifiers: ["NonEmptyString"],
2723
+ # security_control_custom_parameters: [
2724
+ # {
2725
+ # security_control_id: "NonEmptyString",
2726
+ # parameters: {
2727
+ # "NonEmptyString" => {
2728
+ # value_type: "DEFAULT", # required, accepts DEFAULT, CUSTOM
2729
+ # value: {
2730
+ # integer: 1,
2731
+ # integer_list: [1],
2732
+ # double: 1.0,
2733
+ # string: "NonEmptyString",
2734
+ # string_list: ["NonEmptyString"],
2735
+ # boolean: false,
2736
+ # enum: "NonEmptyString",
2737
+ # enum_list: ["NonEmptyString"],
2738
+ # },
2739
+ # },
2740
+ # },
2741
+ # },
2742
+ # ],
2743
+ # },
2744
+ # },
2745
+ # },
2746
+ # tags: {
2747
+ # "TagKey" => "TagValue",
2748
+ # },
2749
+ # })
2750
+ #
2751
+ # @example Response structure
2752
+ #
2753
+ # resp.arn #=> String
2754
+ # resp.id #=> String
2755
+ # resp.name #=> String
2756
+ # resp.description #=> String
2757
+ # resp.updated_at #=> Time
2758
+ # resp.created_at #=> Time
2759
+ # resp.configuration_policy.security_hub.service_enabled #=> Boolean
2760
+ # resp.configuration_policy.security_hub.enabled_standard_identifiers #=> Array
2761
+ # resp.configuration_policy.security_hub.enabled_standard_identifiers[0] #=> String
2762
+ # resp.configuration_policy.security_hub.security_controls_configuration.enabled_security_control_identifiers #=> Array
2763
+ # resp.configuration_policy.security_hub.security_controls_configuration.enabled_security_control_identifiers[0] #=> String
2764
+ # resp.configuration_policy.security_hub.security_controls_configuration.disabled_security_control_identifiers #=> Array
2765
+ # resp.configuration_policy.security_hub.security_controls_configuration.disabled_security_control_identifiers[0] #=> String
2766
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters #=> Array
2767
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].security_control_id #=> String
2768
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters #=> Hash
2769
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value_type #=> String, one of "DEFAULT", "CUSTOM"
2770
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.integer #=> Integer
2771
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.integer_list #=> Array
2772
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.integer_list[0] #=> Integer
2773
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.double #=> Float
2774
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.string #=> String
2775
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.string_list #=> Array
2776
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.string_list[0] #=> String
2777
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.boolean #=> Boolean
2778
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.enum #=> String
2779
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.enum_list #=> Array
2780
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.enum_list[0] #=> String
2781
+ #
2782
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateConfigurationPolicy AWS API Documentation
2783
+ #
2784
+ # @overload create_configuration_policy(params = {})
2785
+ # @param [Hash] params ({})
2786
+ def create_configuration_policy(params = {}, options = {})
2787
+ req = build_request(:create_configuration_policy, params)
2788
+ req.send_request(options)
2789
+ end
2790
+
2450
2791
  # Used to enable finding aggregation. Must be called from the
2451
2792
  # aggregation Region.
2452
2793
  #
@@ -3283,6 +3624,24 @@ module Aws::SecurityHub
3283
3624
  # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
3284
3625
  # },
3285
3626
  # ],
3627
+ # aws_account_name: [
3628
+ # {
3629
+ # value: "NonEmptyString",
3630
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
3631
+ # },
3632
+ # ],
3633
+ # resource_application_name: [
3634
+ # {
3635
+ # value: "NonEmptyString",
3636
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
3637
+ # },
3638
+ # ],
3639
+ # resource_application_arn: [
3640
+ # {
3641
+ # value: "NonEmptyString",
3642
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
3643
+ # },
3644
+ # ],
3286
3645
  # },
3287
3646
  # group_by_attribute: "NonEmptyString", # required
3288
3647
  # })
@@ -3511,6 +3870,42 @@ module Aws::SecurityHub
3511
3870
  req.send_request(options)
3512
3871
  end
3513
3872
 
3873
+ # Deletes a configuration policy. Only the Security Hub delegated
3874
+ # administrator can invoke this operation from the home Region. For the
3875
+ # deletion to succeed, you must first disassociate a configuration
3876
+ # policy from target accounts, organizational units, or the root by
3877
+ # invoking the `StartConfigurationPolicyDisassociation` operation.
3878
+ #
3879
+ # @option params [required, String] :identifier
3880
+ # The Amazon Resource Name (ARN) or universally unique identifier (UUID)
3881
+ # of the configuration policy.
3882
+ #
3883
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
3884
+ #
3885
+ #
3886
+ # @example Example: To delete a configuration policy
3887
+ #
3888
+ # # This operation deletes the specified configuration policy.
3889
+ #
3890
+ # resp = client.delete_configuration_policy({
3891
+ # identifier: "arn:aws:securityhub:us-east-1:123456789012:configuration-policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
3892
+ # })
3893
+ #
3894
+ # @example Request syntax with placeholder values
3895
+ #
3896
+ # resp = client.delete_configuration_policy({
3897
+ # identifier: "NonEmptyString", # required
3898
+ # })
3899
+ #
3900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteConfigurationPolicy AWS API Documentation
3901
+ #
3902
+ # @overload delete_configuration_policy(params = {})
3903
+ # @param [Hash] params ({})
3904
+ def delete_configuration_policy(params = {}, options = {})
3905
+ req = build_request(:delete_configuration_policy, params)
3906
+ req.send_request(options)
3907
+ end
3908
+
3514
3909
  # Deletes a finding aggregator. When you delete the finding aggregator,
3515
3910
  # you stop finding aggregation.
3516
3911
  #
@@ -3830,29 +4225,35 @@ module Aws::SecurityHub
3830
4225
  req.send_request(options)
3831
4226
  end
3832
4227
 
3833
- # Returns information about the Organizations configuration for Security
3834
- # Hub. Can only be called from a Security Hub administrator account.
4228
+ # Returns information about the way your organization is configured in
4229
+ # Security Hub. Only the Security Hub administrator account can invoke
4230
+ # this operation.
3835
4231
  #
3836
4232
  # @return [Types::DescribeOrganizationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3837
4233
  #
3838
4234
  # * {Types::DescribeOrganizationConfigurationResponse#auto_enable #auto_enable} => Boolean
3839
4235
  # * {Types::DescribeOrganizationConfigurationResponse#member_account_limit_reached #member_account_limit_reached} => Boolean
3840
4236
  # * {Types::DescribeOrganizationConfigurationResponse#auto_enable_standards #auto_enable_standards} => String
4237
+ # * {Types::DescribeOrganizationConfigurationResponse#organization_configuration #organization_configuration} => Types::OrganizationConfiguration
3841
4238
  #
3842
4239
  #
3843
- # @example Example: To get information about Organizations configuration
4240
+ # @example Example: To get information about organization configuration
3844
4241
  #
3845
- # # The following example returns details about the way in which AWS Organizations is configured for a Security Hub account
3846
- # # that belongs to an organization. Only a Security Hub administrator account can call this operation.
4242
+ # # This operation provides information about the way your organization is configured in Security Hub. Only a Security Hub
4243
+ # # administrator account can invoke this operation.
3847
4244
  #
3848
4245
  # resp = client.describe_organization_configuration({
3849
4246
  # })
3850
4247
  #
3851
4248
  # resp.to_h outputs the following:
3852
4249
  # {
3853
- # auto_enable: true,
3854
- # auto_enable_standards: "DEFAULT",
3855
- # member_account_limit_reached: true,
4250
+ # auto_enable: false,
4251
+ # auto_enable_standards: "NONE",
4252
+ # member_account_limit_reached: false,
4253
+ # organization_configuration: {
4254
+ # configuration_type: "CENTRAL",
4255
+ # status: "ENABLED",
4256
+ # },
3856
4257
  # }
3857
4258
  #
3858
4259
  # @example Response structure
@@ -3860,6 +4261,9 @@ module Aws::SecurityHub
3860
4261
  # resp.auto_enable #=> Boolean
3861
4262
  # resp.member_account_limit_reached #=> Boolean
3862
4263
  # resp.auto_enable_standards #=> String, one of "NONE", "DEFAULT"
4264
+ # resp.organization_configuration.configuration_type #=> String, one of "CENTRAL", "LOCAL"
4265
+ # resp.organization_configuration.status #=> String, one of "PENDING", "ENABLED", "FAILED"
4266
+ # resp.organization_configuration.status_message #=> String
3863
4267
  #
3864
4268
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration AWS API Documentation
3865
4269
  #
@@ -4583,6 +4987,188 @@ module Aws::SecurityHub
4583
4987
  req.send_request(options)
4584
4988
  end
4585
4989
 
4990
+ # Provides information about a configuration policy. Only the Security
4991
+ # Hub delegated administrator can invoke this operation from the home
4992
+ # Region.
4993
+ #
4994
+ # @option params [required, String] :identifier
4995
+ # The Amazon Resource Name (ARN) or universally unique identifier (UUID)
4996
+ # of the configuration policy.
4997
+ #
4998
+ # @return [Types::GetConfigurationPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4999
+ #
5000
+ # * {Types::GetConfigurationPolicyResponse#arn #arn} => String
5001
+ # * {Types::GetConfigurationPolicyResponse#id #id} => String
5002
+ # * {Types::GetConfigurationPolicyResponse#name #name} => String
5003
+ # * {Types::GetConfigurationPolicyResponse#description #description} => String
5004
+ # * {Types::GetConfigurationPolicyResponse#updated_at #updated_at} => Time
5005
+ # * {Types::GetConfigurationPolicyResponse#created_at #created_at} => Time
5006
+ # * {Types::GetConfigurationPolicyResponse#configuration_policy #configuration_policy} => Types::Policy
5007
+ #
5008
+ #
5009
+ # @example Example: To get details about a configuration policy
5010
+ #
5011
+ # # This operation provides details about the specified configuration policy.
5012
+ #
5013
+ # resp = client.get_configuration_policy({
5014
+ # identifier: "arn:aws:securityhub:us-east-1:123456789012:configuration-policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
5015
+ # })
5016
+ #
5017
+ # resp.to_h outputs the following:
5018
+ # {
5019
+ # arn: "arn:aws:securityhub:us-east-1:123456789012:configuration-policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
5020
+ # configuration_policy: {
5021
+ # security_hub: {
5022
+ # enabled_standard_identifiers: [
5023
+ # "arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0",
5024
+ # "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0",
5025
+ # ],
5026
+ # security_controls_configuration: {
5027
+ # disabled_security_control_identifiers: [
5028
+ # "CloudWatch.1",
5029
+ # ],
5030
+ # security_control_custom_parameters: [
5031
+ # {
5032
+ # parameters: {
5033
+ # "daysToExpiration" => {
5034
+ # value: {
5035
+ # integer: 14,
5036
+ # },
5037
+ # value_type: "CUSTOM",
5038
+ # },
5039
+ # },
5040
+ # security_control_id: "ACM.1",
5041
+ # },
5042
+ # ],
5043
+ # },
5044
+ # service_enabled: true,
5045
+ # },
5046
+ # },
5047
+ # created_at: Time.parse("2023-01-11T06:17:17.154Z"),
5048
+ # description: "Configuration policy for testing FSBP and CIS",
5049
+ # id: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
5050
+ # name: "TestConfigurationPolicy",
5051
+ # updated_at: Time.parse("2023-01-11T06:17:17.154Z"),
5052
+ # }
5053
+ #
5054
+ # @example Request syntax with placeholder values
5055
+ #
5056
+ # resp = client.get_configuration_policy({
5057
+ # identifier: "NonEmptyString", # required
5058
+ # })
5059
+ #
5060
+ # @example Response structure
5061
+ #
5062
+ # resp.arn #=> String
5063
+ # resp.id #=> String
5064
+ # resp.name #=> String
5065
+ # resp.description #=> String
5066
+ # resp.updated_at #=> Time
5067
+ # resp.created_at #=> Time
5068
+ # resp.configuration_policy.security_hub.service_enabled #=> Boolean
5069
+ # resp.configuration_policy.security_hub.enabled_standard_identifiers #=> Array
5070
+ # resp.configuration_policy.security_hub.enabled_standard_identifiers[0] #=> String
5071
+ # resp.configuration_policy.security_hub.security_controls_configuration.enabled_security_control_identifiers #=> Array
5072
+ # resp.configuration_policy.security_hub.security_controls_configuration.enabled_security_control_identifiers[0] #=> String
5073
+ # resp.configuration_policy.security_hub.security_controls_configuration.disabled_security_control_identifiers #=> Array
5074
+ # resp.configuration_policy.security_hub.security_controls_configuration.disabled_security_control_identifiers[0] #=> String
5075
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters #=> Array
5076
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].security_control_id #=> String
5077
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters #=> Hash
5078
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value_type #=> String, one of "DEFAULT", "CUSTOM"
5079
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.integer #=> Integer
5080
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.integer_list #=> Array
5081
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.integer_list[0] #=> Integer
5082
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.double #=> Float
5083
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.string #=> String
5084
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.string_list #=> Array
5085
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.string_list[0] #=> String
5086
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.boolean #=> Boolean
5087
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.enum #=> String
5088
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.enum_list #=> Array
5089
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.enum_list[0] #=> String
5090
+ #
5091
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetConfigurationPolicy AWS API Documentation
5092
+ #
5093
+ # @overload get_configuration_policy(params = {})
5094
+ # @param [Hash] params ({})
5095
+ def get_configuration_policy(params = {}, options = {})
5096
+ req = build_request(:get_configuration_policy, params)
5097
+ req.send_request(options)
5098
+ end
5099
+
5100
+ # Returns the association between a configuration and a target account,
5101
+ # organizational unit, or the root. The configuration can be a
5102
+ # configuration policy or self-managed behavior. Only the Security Hub
5103
+ # delegated administrator can invoke this operation from the home
5104
+ # Region.
5105
+ #
5106
+ # @option params [required, Types::Target] :target
5107
+ # The target account ID, organizational unit ID, or the root ID to
5108
+ # retrieve the association for.
5109
+ #
5110
+ # @return [Types::GetConfigurationPolicyAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5111
+ #
5112
+ # * {Types::GetConfigurationPolicyAssociationResponse#configuration_policy_id #configuration_policy_id} => String
5113
+ # * {Types::GetConfigurationPolicyAssociationResponse#target_id #target_id} => String
5114
+ # * {Types::GetConfigurationPolicyAssociationResponse#target_type #target_type} => String
5115
+ # * {Types::GetConfigurationPolicyAssociationResponse#association_type #association_type} => String
5116
+ # * {Types::GetConfigurationPolicyAssociationResponse#updated_at #updated_at} => Time
5117
+ # * {Types::GetConfigurationPolicyAssociationResponse#association_status #association_status} => String
5118
+ # * {Types::GetConfigurationPolicyAssociationResponse#association_status_message #association_status_message} => String
5119
+ #
5120
+ #
5121
+ # @example Example: To get details about a configuration association
5122
+ #
5123
+ # # This operation provides details about configuration associations for a specific target account, organizational unit, or
5124
+ # # the root.
5125
+ #
5126
+ # resp = client.get_configuration_policy_association({
5127
+ # target: {
5128
+ # account_id: "111122223333",
5129
+ # },
5130
+ # })
5131
+ #
5132
+ # resp.to_h outputs the following:
5133
+ # {
5134
+ # association_status: "FAILED",
5135
+ # association_status_message: "Configuration Policy a1b2c3d4-5678-90ab-cdef-EXAMPLE11111 couldn\u2019t be applied to account 111122223333 in us-east-1 Region. Retry your request.",
5136
+ # association_type: "INHERITED",
5137
+ # configuration_policy_id: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
5138
+ # target_id: "111122223333",
5139
+ # target_type: "ACCOUNT",
5140
+ # updated_at: Time.parse("2023-01-11T06:17:17.154Z"),
5141
+ # }
5142
+ #
5143
+ # @example Request syntax with placeholder values
5144
+ #
5145
+ # resp = client.get_configuration_policy_association({
5146
+ # target: { # required
5147
+ # account_id: "NonEmptyString",
5148
+ # organizational_unit_id: "NonEmptyString",
5149
+ # root_id: "NonEmptyString",
5150
+ # },
5151
+ # })
5152
+ #
5153
+ # @example Response structure
5154
+ #
5155
+ # resp.configuration_policy_id #=> String
5156
+ # resp.target_id #=> String
5157
+ # resp.target_type #=> String, one of "ACCOUNT", "ORGANIZATIONAL_UNIT"
5158
+ # resp.association_type #=> String, one of "INHERITED", "APPLIED"
5159
+ # resp.updated_at #=> Time
5160
+ # resp.association_status #=> String, one of "PENDING", "SUCCESS", "FAILED"
5161
+ # resp.association_status_message #=> String
5162
+ #
5163
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetConfigurationPolicyAssociation AWS API Documentation
5164
+ #
5165
+ # @overload get_configuration_policy_association(params = {})
5166
+ # @param [Hash] params ({})
5167
+ def get_configuration_policy_association(params = {}, options = {})
5168
+ req = build_request(:get_configuration_policy_association, params)
5169
+ req.send_request(options)
5170
+ end
5171
+
4586
5172
  # Returns a list of the standards that are currently enabled.
4587
5173
  #
4588
5174
  # @option params [Array<String>] :standards_subscription_arns
@@ -5695,6 +6281,24 @@ module Aws::SecurityHub
5695
6281
  # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
5696
6282
  # },
5697
6283
  # ],
6284
+ # aws_account_name: [
6285
+ # {
6286
+ # value: "NonEmptyString",
6287
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
6288
+ # },
6289
+ # ],
6290
+ # resource_application_name: [
6291
+ # {
6292
+ # value: "NonEmptyString",
6293
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
6294
+ # },
6295
+ # ],
6296
+ # resource_application_arn: [
6297
+ # {
6298
+ # value: "NonEmptyString",
6299
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
6300
+ # },
6301
+ # ],
5698
6302
  # },
5699
6303
  # sort_criteria: [
5700
6304
  # {
@@ -6200,6 +6804,15 @@ module Aws::SecurityHub
6200
6804
  # resp.insights[0].filters.compliance_security_control_parameters_value #=> Array
6201
6805
  # resp.insights[0].filters.compliance_security_control_parameters_value[0].value #=> String
6202
6806
  # resp.insights[0].filters.compliance_security_control_parameters_value[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS", "CONTAINS", "NOT_CONTAINS"
6807
+ # resp.insights[0].filters.aws_account_name #=> Array
6808
+ # resp.insights[0].filters.aws_account_name[0].value #=> String
6809
+ # resp.insights[0].filters.aws_account_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS", "CONTAINS", "NOT_CONTAINS"
6810
+ # resp.insights[0].filters.resource_application_name #=> Array
6811
+ # resp.insights[0].filters.resource_application_name[0].value #=> String
6812
+ # resp.insights[0].filters.resource_application_name[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS", "CONTAINS", "NOT_CONTAINS"
6813
+ # resp.insights[0].filters.resource_application_arn #=> Array
6814
+ # resp.insights[0].filters.resource_application_arn[0].value #=> String
6815
+ # resp.insights[0].filters.resource_application_arn[0].comparison #=> String, one of "EQUALS", "PREFIX", "NOT_EQUALS", "PREFIX_NOT_EQUALS", "CONTAINS", "NOT_CONTAINS"
6203
6816
  # resp.insights[0].group_by_attribute #=> String
6204
6817
  # resp.next_token #=> String
6205
6818
  #
@@ -6617,6 +7230,185 @@ module Aws::SecurityHub
6617
7230
  req.send_request(options)
6618
7231
  end
6619
7232
 
7233
+ # Lists the configuration policies that the Security Hub delegated
7234
+ # administrator has created for your organization. Only the delegated
7235
+ # administrator can invoke this operation from the home Region.
7236
+ #
7237
+ # @option params [String] :next_token
7238
+ # The NextToken value that's returned from a previous paginated
7239
+ # `ListConfigurationPolicies` request where `MaxResults` was used but
7240
+ # the results exceeded the value of that parameter. Pagination continues
7241
+ # from the `MaxResults` was used but the results exceeded the value of
7242
+ # that parameter. Pagination continues from the end of the previous
7243
+ # response that returned the `NextToken` value. This value is `null`
7244
+ # when there are no more results to return.
7245
+ #
7246
+ # @option params [Integer] :max_results
7247
+ # The maximum number of results that's returned by
7248
+ # `ListConfigurationPolicies` in each page of the response. When this
7249
+ # parameter is used, `ListConfigurationPolicies` returns the specified
7250
+ # number of results in a single page and a `NextToken` response element.
7251
+ # You can see the remaining results of the initial request by sending
7252
+ # another `ListConfigurationPolicies` request with the returned
7253
+ # `NextToken` value. A valid range for `MaxResults` is between 1 and
7254
+ # 100.
7255
+ #
7256
+ # @return [Types::ListConfigurationPoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7257
+ #
7258
+ # * {Types::ListConfigurationPoliciesResponse#configuration_policy_summaries #configuration_policy_summaries} => Array&lt;Types::ConfigurationPolicySummary&gt;
7259
+ # * {Types::ListConfigurationPoliciesResponse#next_token #next_token} => String
7260
+ #
7261
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7262
+ #
7263
+ #
7264
+ # @example Example: To view a list of configuration policies
7265
+ #
7266
+ # # This operation provides a list of your configuration policies, including metadata for each policy.
7267
+ #
7268
+ # resp = client.list_configuration_policies({
7269
+ # max_results: 1,
7270
+ # next_token: "U1FsdGVkX19nBV2zoh+Gou9NgnulLJHWpn9xnG4hqSOhvw3o2JqjI86QDxdf",
7271
+ # })
7272
+ #
7273
+ # resp.to_h outputs the following:
7274
+ # {
7275
+ # configuration_policy_summaries: [
7276
+ # {
7277
+ # arn: "arn:aws:securityhub:us-east-1:123456789012:configuration-policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
7278
+ # description: "Configuration policy for testing FSBP and CIS",
7279
+ # id: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
7280
+ # name: "TestConfigurationPolicy",
7281
+ # service_enabled: true,
7282
+ # updated_at: Time.parse("2023-01-11T06:17:17.154Z"),
7283
+ # },
7284
+ # ],
7285
+ # next_token: "U1FsdGVkX19nBV2zoh+Gou9NgnulLJHWpn9xnG4hqSOfvw3o2JqjI86QDxef",
7286
+ # }
7287
+ #
7288
+ # @example Request syntax with placeholder values
7289
+ #
7290
+ # resp = client.list_configuration_policies({
7291
+ # next_token: "NextToken",
7292
+ # max_results: 1,
7293
+ # })
7294
+ #
7295
+ # @example Response structure
7296
+ #
7297
+ # resp.configuration_policy_summaries #=> Array
7298
+ # resp.configuration_policy_summaries[0].arn #=> String
7299
+ # resp.configuration_policy_summaries[0].id #=> String
7300
+ # resp.configuration_policy_summaries[0].name #=> String
7301
+ # resp.configuration_policy_summaries[0].description #=> String
7302
+ # resp.configuration_policy_summaries[0].updated_at #=> Time
7303
+ # resp.configuration_policy_summaries[0].service_enabled #=> Boolean
7304
+ # resp.next_token #=> String
7305
+ #
7306
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListConfigurationPolicies AWS API Documentation
7307
+ #
7308
+ # @overload list_configuration_policies(params = {})
7309
+ # @param [Hash] params ({})
7310
+ def list_configuration_policies(params = {}, options = {})
7311
+ req = build_request(:list_configuration_policies, params)
7312
+ req.send_request(options)
7313
+ end
7314
+
7315
+ # Provides information about the associations for your configuration
7316
+ # policies and self-managed behavior. Only the Security Hub delegated
7317
+ # administrator can invoke this operation from the home Region.
7318
+ #
7319
+ # @option params [String] :next_token
7320
+ # The `NextToken` value that's returned from a previous paginated
7321
+ # `ListConfigurationPolicyAssociations` request where `MaxResults` was
7322
+ # used but the results exceeded the value of that parameter. Pagination
7323
+ # continues from the end of the previous response that returned the
7324
+ # `NextToken` value. This value is `null` when there are no more results
7325
+ # to return.
7326
+ #
7327
+ # @option params [Integer] :max_results
7328
+ # The maximum number of results that's returned by
7329
+ # `ListConfigurationPolicies` in each page of the response. When this
7330
+ # parameter is used, `ListConfigurationPolicyAssociations` returns the
7331
+ # specified number of results in a single page and a `NextToken`
7332
+ # response element. You can see the remaining results of the initial
7333
+ # request by sending another `ListConfigurationPolicyAssociations`
7334
+ # request with the returned `NextToken` value. A valid range for
7335
+ # `MaxResults` is between 1 and 100.
7336
+ #
7337
+ # @option params [Types::AssociationFilters] :filters
7338
+ # Options for filtering the `ListConfigurationPolicyAssociations`
7339
+ # response. You can filter by the Amazon Resource Name (ARN) or
7340
+ # universally unique identifier (UUID) of a configuration,
7341
+ # `AssociationType`, or `AssociationStatus`.
7342
+ #
7343
+ # @return [Types::ListConfigurationPolicyAssociationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
7344
+ #
7345
+ # * {Types::ListConfigurationPolicyAssociationsResponse#configuration_policy_association_summaries #configuration_policy_association_summaries} => Array&lt;Types::ConfigurationPolicyAssociationSummary&gt;
7346
+ # * {Types::ListConfigurationPolicyAssociationsResponse#next_token #next_token} => String
7347
+ #
7348
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
7349
+ #
7350
+ #
7351
+ # @example Example: To list configuration associations
7352
+ #
7353
+ # # This operation lists all of the associations between targets and configuration policies or self-managed behavior.
7354
+ # # Targets can include accounts, organizational units, or the root.
7355
+ #
7356
+ # resp = client.list_configuration_policy_associations({
7357
+ # filters: {
7358
+ # association_type: "APPLIED",
7359
+ # },
7360
+ # max_results: 1,
7361
+ # next_token: "U1FsdGVkX19nBV2zoh+Gou9NgnulLJHWpn9xnG4hqSOhvw3o2JqjI86QDxdf",
7362
+ # })
7363
+ #
7364
+ # resp.to_h outputs the following:
7365
+ # {
7366
+ # configuration_policy_association_summaries: [
7367
+ # {
7368
+ # association_status: "PENDING",
7369
+ # association_type: "APPLIED",
7370
+ # configuration_policy_id: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
7371
+ # target_id: "123456789012",
7372
+ # target_type: "ACCOUNT",
7373
+ # updated_at: Time.parse("2023-01-11T06:17:17.154Z"),
7374
+ # },
7375
+ # ],
7376
+ # next_token: "U1FsdGVkX19nBV2zoh+Gou9NgnulLJHWpn9xnG4hqSOfvw3o2JqjI86QDxef",
7377
+ # }
7378
+ #
7379
+ # @example Request syntax with placeholder values
7380
+ #
7381
+ # resp = client.list_configuration_policy_associations({
7382
+ # next_token: "NextToken",
7383
+ # max_results: 1,
7384
+ # filters: {
7385
+ # configuration_policy_id: "NonEmptyString",
7386
+ # association_type: "INHERITED", # accepts INHERITED, APPLIED
7387
+ # association_status: "PENDING", # accepts PENDING, SUCCESS, FAILED
7388
+ # },
7389
+ # })
7390
+ #
7391
+ # @example Response structure
7392
+ #
7393
+ # resp.configuration_policy_association_summaries #=> Array
7394
+ # resp.configuration_policy_association_summaries[0].configuration_policy_id #=> String
7395
+ # resp.configuration_policy_association_summaries[0].target_id #=> String
7396
+ # resp.configuration_policy_association_summaries[0].target_type #=> String, one of "ACCOUNT", "ORGANIZATIONAL_UNIT"
7397
+ # resp.configuration_policy_association_summaries[0].association_type #=> String, one of "INHERITED", "APPLIED"
7398
+ # resp.configuration_policy_association_summaries[0].updated_at #=> Time
7399
+ # resp.configuration_policy_association_summaries[0].association_status #=> String, one of "PENDING", "SUCCESS", "FAILED"
7400
+ # resp.configuration_policy_association_summaries[0].association_status_message #=> String
7401
+ # resp.next_token #=> String
7402
+ #
7403
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListConfigurationPolicyAssociations AWS API Documentation
7404
+ #
7405
+ # @overload list_configuration_policy_associations(params = {})
7406
+ # @param [Hash] params ({})
7407
+ def list_configuration_policy_associations(params = {}, options = {})
7408
+ req = build_request(:list_configuration_policy_associations, params)
7409
+ req.send_request(options)
7410
+ end
7411
+
6620
7412
  # Lists all findings-generating solutions (products) that you are
6621
7413
  # subscribed to receive findings from in Security Hub.
6622
7414
  #
@@ -7251,6 +8043,136 @@ module Aws::SecurityHub
7251
8043
  req.send_request(options)
7252
8044
  end
7253
8045
 
8046
+ # Associates a target account, organizational unit, or the root with a
8047
+ # specified configuration. The target can be associated with a
8048
+ # configuration policy or self-managed behavior. Only the Security Hub
8049
+ # delegated administrator can invoke this operation from the home
8050
+ # Region.
8051
+ #
8052
+ # @option params [required, String] :configuration_policy_identifier
8053
+ # The Amazon Resource Name (ARN) or universally unique identifier (UUID)
8054
+ # of the configuration policy.
8055
+ #
8056
+ # @option params [required, Types::Target] :target
8057
+ # The identifier of the target account, organizational unit, or the root
8058
+ # to associate with the specified configuration.
8059
+ #
8060
+ # @return [Types::StartConfigurationPolicyAssociationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8061
+ #
8062
+ # * {Types::StartConfigurationPolicyAssociationResponse#configuration_policy_id #configuration_policy_id} => String
8063
+ # * {Types::StartConfigurationPolicyAssociationResponse#target_id #target_id} => String
8064
+ # * {Types::StartConfigurationPolicyAssociationResponse#target_type #target_type} => String
8065
+ # * {Types::StartConfigurationPolicyAssociationResponse#association_type #association_type} => String
8066
+ # * {Types::StartConfigurationPolicyAssociationResponse#updated_at #updated_at} => Time
8067
+ # * {Types::StartConfigurationPolicyAssociationResponse#association_status #association_status} => String
8068
+ # * {Types::StartConfigurationPolicyAssociationResponse#association_status_message #association_status_message} => String
8069
+ #
8070
+ #
8071
+ # @example Example: To associate a configuration with a target
8072
+ #
8073
+ # # This operation associates a configuration policy or self-managed behavior with the target account, organizational unit,
8074
+ # # or the root.
8075
+ #
8076
+ # resp = client.start_configuration_policy_association({
8077
+ # configuration_policy_identifier: "arn:aws:securityhub:us-east-1:123456789012:configuration-policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
8078
+ # target: {
8079
+ # account_id: "111122223333",
8080
+ # },
8081
+ # })
8082
+ #
8083
+ # resp.to_h outputs the following:
8084
+ # {
8085
+ # association_status: "SUCCESS",
8086
+ # association_status_message: "This field is populated only if the association fails",
8087
+ # association_type: "APPLIED",
8088
+ # configuration_policy_id: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
8089
+ # target_id: "111122223333",
8090
+ # target_type: "ACCOUNT",
8091
+ # updated_at: Time.parse("2023-01-11T06:17:17.154Z"),
8092
+ # }
8093
+ #
8094
+ # @example Request syntax with placeholder values
8095
+ #
8096
+ # resp = client.start_configuration_policy_association({
8097
+ # configuration_policy_identifier: "NonEmptyString", # required
8098
+ # target: { # required
8099
+ # account_id: "NonEmptyString",
8100
+ # organizational_unit_id: "NonEmptyString",
8101
+ # root_id: "NonEmptyString",
8102
+ # },
8103
+ # })
8104
+ #
8105
+ # @example Response structure
8106
+ #
8107
+ # resp.configuration_policy_id #=> String
8108
+ # resp.target_id #=> String
8109
+ # resp.target_type #=> String, one of "ACCOUNT", "ORGANIZATIONAL_UNIT"
8110
+ # resp.association_type #=> String, one of "INHERITED", "APPLIED"
8111
+ # resp.updated_at #=> Time
8112
+ # resp.association_status #=> String, one of "PENDING", "SUCCESS", "FAILED"
8113
+ # resp.association_status_message #=> String
8114
+ #
8115
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/StartConfigurationPolicyAssociation AWS API Documentation
8116
+ #
8117
+ # @overload start_configuration_policy_association(params = {})
8118
+ # @param [Hash] params ({})
8119
+ def start_configuration_policy_association(params = {}, options = {})
8120
+ req = build_request(:start_configuration_policy_association, params)
8121
+ req.send_request(options)
8122
+ end
8123
+
8124
+ # Disassociates a target account, organizational unit, or the root from
8125
+ # a specified configuration. When you disassociate a configuration from
8126
+ # its target, the target inherits the configuration of the closest
8127
+ # parent. If there’s no configuration to inherit, the target retains its
8128
+ # settings but becomes a self-managed account. A target can be
8129
+ # disassociated from a configuration policy or self-managed behavior.
8130
+ # Only the Security Hub delegated administrator can invoke this
8131
+ # operation from the home Region.
8132
+ #
8133
+ # @option params [Types::Target] :target
8134
+ # The identifier of the target account, organizational unit, or the root
8135
+ # to disassociate from the specified configuration.
8136
+ #
8137
+ # @option params [required, String] :configuration_policy_identifier
8138
+ # The Amazon Resource Name (ARN) or universally unique identifier (UUID)
8139
+ # of the configuration policy.
8140
+ #
8141
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8142
+ #
8143
+ #
8144
+ # @example Example: To disassociate a configuration from a target
8145
+ #
8146
+ # # This operation disassociates a configuration policy or self-managed behavior from the target account, organizational
8147
+ # # unit, or the root.
8148
+ #
8149
+ # resp = client.start_configuration_policy_disassociation({
8150
+ # configuration_policy_identifier: "SELF_MANAGED_SECURITY_HUB",
8151
+ # target: {
8152
+ # root_id: "r-f6g7h8i9j0example",
8153
+ # },
8154
+ # })
8155
+ #
8156
+ # @example Request syntax with placeholder values
8157
+ #
8158
+ # resp = client.start_configuration_policy_disassociation({
8159
+ # target: {
8160
+ # account_id: "NonEmptyString",
8161
+ # organizational_unit_id: "NonEmptyString",
8162
+ # root_id: "NonEmptyString",
8163
+ # },
8164
+ # configuration_policy_identifier: "NonEmptyString", # required
8165
+ # })
8166
+ #
8167
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/StartConfigurationPolicyDisassociation AWS API Documentation
8168
+ #
8169
+ # @overload start_configuration_policy_disassociation(params = {})
8170
+ # @param [Hash] params ({})
8171
+ def start_configuration_policy_disassociation(params = {}, options = {})
8172
+ req = build_request(:start_configuration_policy_disassociation, params)
8173
+ req.send_request(options)
8174
+ end
8175
+
7254
8176
  # Adds one or more tags to a resource.
7255
8177
  #
7256
8178
  # @option params [required, String] :resource_arn
@@ -7376,6 +8298,205 @@ module Aws::SecurityHub
7376
8298
  req.send_request(options)
7377
8299
  end
7378
8300
 
8301
+ # Updates a configuration policy. Only the Security Hub delegated
8302
+ # administrator can invoke this operation from the home Region.
8303
+ #
8304
+ # @option params [required, String] :identifier
8305
+ # The Amazon Resource Name (ARN) or universally unique identifier (UUID)
8306
+ # of the configuration policy.
8307
+ #
8308
+ # @option params [String] :name
8309
+ # The name of the configuration policy.
8310
+ #
8311
+ # @option params [String] :description
8312
+ # The description of the configuration policy.
8313
+ #
8314
+ # @option params [String] :updated_reason
8315
+ # The reason for updating the configuration policy.
8316
+ #
8317
+ # @option params [Types::Policy] :configuration_policy
8318
+ # An object that defines how Security Hub is configured. It includes
8319
+ # whether Security Hub is enabled or disabled, a list of enabled
8320
+ # security standards, a list of enabled or disabled security controls,
8321
+ # and a list of custom parameter values for specified controls. If you
8322
+ # provide a list of security controls that are enabled in the
8323
+ # configuration policy, Security Hub disables all other controls
8324
+ # (including newly released controls). If you provide a list of security
8325
+ # controls that are disabled in the configuration policy, Security Hub
8326
+ # enables all other controls (including newly released controls).
8327
+ #
8328
+ # When updating a configuration policy, provide a complete list of
8329
+ # standards that you want to enable and a complete list of controls that
8330
+ # you want to enable or disable. The updated configuration replaces the
8331
+ # current configuration.
8332
+ #
8333
+ # @return [Types::UpdateConfigurationPolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8334
+ #
8335
+ # * {Types::UpdateConfigurationPolicyResponse#arn #arn} => String
8336
+ # * {Types::UpdateConfigurationPolicyResponse#id #id} => String
8337
+ # * {Types::UpdateConfigurationPolicyResponse#name #name} => String
8338
+ # * {Types::UpdateConfigurationPolicyResponse#description #description} => String
8339
+ # * {Types::UpdateConfigurationPolicyResponse#updated_at #updated_at} => Time
8340
+ # * {Types::UpdateConfigurationPolicyResponse#created_at #created_at} => Time
8341
+ # * {Types::UpdateConfigurationPolicyResponse#configuration_policy #configuration_policy} => Types::Policy
8342
+ #
8343
+ #
8344
+ # @example Example: To update a configuration policy
8345
+ #
8346
+ # # This operation updates the specified configuration policy.
8347
+ #
8348
+ # resp = client.update_configuration_policy({
8349
+ # configuration_policy: {
8350
+ # security_hub: {
8351
+ # enabled_standard_identifiers: [
8352
+ # "arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0",
8353
+ # "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0",
8354
+ # ],
8355
+ # security_controls_configuration: {
8356
+ # disabled_security_control_identifiers: [
8357
+ # "CloudWatch.1",
8358
+ # "CloudWatch.2",
8359
+ # ],
8360
+ # security_control_custom_parameters: [
8361
+ # {
8362
+ # parameters: {
8363
+ # "daysToExpiration" => {
8364
+ # value: {
8365
+ # integer: 21,
8366
+ # },
8367
+ # value_type: "CUSTOM",
8368
+ # },
8369
+ # },
8370
+ # security_control_id: "ACM.1",
8371
+ # },
8372
+ # ],
8373
+ # },
8374
+ # service_enabled: true,
8375
+ # },
8376
+ # },
8377
+ # description: "Updated configuration policy for testing FSBP and CIS",
8378
+ # identifier: "arn:aws:securityhub:us-east-1:123456789012:configuration-policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
8379
+ # name: "TestConfigurationPolicy",
8380
+ # updated_reason: "Enabling ACM.2",
8381
+ # })
8382
+ #
8383
+ # resp.to_h outputs the following:
8384
+ # {
8385
+ # arn: "arn:aws:securityhub:us-east-1:123456789012:configuration-policy/a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
8386
+ # configuration_policy: {
8387
+ # security_hub: {
8388
+ # enabled_standard_identifiers: [
8389
+ # "arn:aws:securityhub:us-east-1::standards/aws-foundational-security-best-practices/v/1.0.0",
8390
+ # "arn:aws:securityhub:::ruleset/cis-aws-foundations-benchmark/v/1.2.0",
8391
+ # ],
8392
+ # security_controls_configuration: {
8393
+ # disabled_security_control_identifiers: [
8394
+ # "CloudWatch.1",
8395
+ # "CloudWatch.2",
8396
+ # ],
8397
+ # security_control_custom_parameters: [
8398
+ # {
8399
+ # parameters: {
8400
+ # "daysToExpiration" => {
8401
+ # value: {
8402
+ # integer: 21,
8403
+ # },
8404
+ # value_type: "CUSTOM",
8405
+ # },
8406
+ # },
8407
+ # security_control_id: "ACM.1",
8408
+ # },
8409
+ # ],
8410
+ # },
8411
+ # service_enabled: true,
8412
+ # },
8413
+ # },
8414
+ # created_at: Time.parse("2023-01-11T06:17:17.154Z"),
8415
+ # description: "Updated configuration policy for testing FSBP and CIS",
8416
+ # id: "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111",
8417
+ # name: "TestConfigurationPolicy",
8418
+ # updated_at: Time.parse("2023-01-12T06:17:17.154Z"),
8419
+ # }
8420
+ #
8421
+ # @example Request syntax with placeholder values
8422
+ #
8423
+ # resp = client.update_configuration_policy({
8424
+ # identifier: "NonEmptyString", # required
8425
+ # name: "NonEmptyString",
8426
+ # description: "NonEmptyString",
8427
+ # updated_reason: "NonEmptyString",
8428
+ # configuration_policy: {
8429
+ # security_hub: {
8430
+ # service_enabled: false,
8431
+ # enabled_standard_identifiers: ["NonEmptyString"],
8432
+ # security_controls_configuration: {
8433
+ # enabled_security_control_identifiers: ["NonEmptyString"],
8434
+ # disabled_security_control_identifiers: ["NonEmptyString"],
8435
+ # security_control_custom_parameters: [
8436
+ # {
8437
+ # security_control_id: "NonEmptyString",
8438
+ # parameters: {
8439
+ # "NonEmptyString" => {
8440
+ # value_type: "DEFAULT", # required, accepts DEFAULT, CUSTOM
8441
+ # value: {
8442
+ # integer: 1,
8443
+ # integer_list: [1],
8444
+ # double: 1.0,
8445
+ # string: "NonEmptyString",
8446
+ # string_list: ["NonEmptyString"],
8447
+ # boolean: false,
8448
+ # enum: "NonEmptyString",
8449
+ # enum_list: ["NonEmptyString"],
8450
+ # },
8451
+ # },
8452
+ # },
8453
+ # },
8454
+ # ],
8455
+ # },
8456
+ # },
8457
+ # },
8458
+ # })
8459
+ #
8460
+ # @example Response structure
8461
+ #
8462
+ # resp.arn #=> String
8463
+ # resp.id #=> String
8464
+ # resp.name #=> String
8465
+ # resp.description #=> String
8466
+ # resp.updated_at #=> Time
8467
+ # resp.created_at #=> Time
8468
+ # resp.configuration_policy.security_hub.service_enabled #=> Boolean
8469
+ # resp.configuration_policy.security_hub.enabled_standard_identifiers #=> Array
8470
+ # resp.configuration_policy.security_hub.enabled_standard_identifiers[0] #=> String
8471
+ # resp.configuration_policy.security_hub.security_controls_configuration.enabled_security_control_identifiers #=> Array
8472
+ # resp.configuration_policy.security_hub.security_controls_configuration.enabled_security_control_identifiers[0] #=> String
8473
+ # resp.configuration_policy.security_hub.security_controls_configuration.disabled_security_control_identifiers #=> Array
8474
+ # resp.configuration_policy.security_hub.security_controls_configuration.disabled_security_control_identifiers[0] #=> String
8475
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters #=> Array
8476
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].security_control_id #=> String
8477
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters #=> Hash
8478
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value_type #=> String, one of "DEFAULT", "CUSTOM"
8479
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.integer #=> Integer
8480
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.integer_list #=> Array
8481
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.integer_list[0] #=> Integer
8482
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.double #=> Float
8483
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.string #=> String
8484
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.string_list #=> Array
8485
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.string_list[0] #=> String
8486
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.boolean #=> Boolean
8487
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.enum #=> String
8488
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.enum_list #=> Array
8489
+ # resp.configuration_policy.security_hub.security_controls_configuration.security_control_custom_parameters[0].parameters["NonEmptyString"].value.enum_list[0] #=> String
8490
+ #
8491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateConfigurationPolicy AWS API Documentation
8492
+ #
8493
+ # @overload update_configuration_policy(params = {})
8494
+ # @param [Hash] params ({})
8495
+ def update_configuration_policy(params = {}, options = {})
8496
+ req = build_request(:update_configuration_policy, params)
8497
+ req.send_request(options)
8498
+ end
8499
+
7379
8500
  # Updates the finding aggregation configuration. Used to update the
7380
8501
  # Region linking mode and the list of included or excluded Regions. You
7381
8502
  # cannot use `UpdateFindingAggregator` to change the aggregation Region.
@@ -8180,6 +9301,24 @@ module Aws::SecurityHub
8180
9301
  # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
8181
9302
  # },
8182
9303
  # ],
9304
+ # aws_account_name: [
9305
+ # {
9306
+ # value: "NonEmptyString",
9307
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
9308
+ # },
9309
+ # ],
9310
+ # resource_application_name: [
9311
+ # {
9312
+ # value: "NonEmptyString",
9313
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
9314
+ # },
9315
+ # ],
9316
+ # resource_application_arn: [
9317
+ # {
9318
+ # value: "NonEmptyString",
9319
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
9320
+ # },
9321
+ # ],
8183
9322
  # },
8184
9323
  # note: {
8185
9324
  # text: "NonEmptyString", # required
@@ -8920,6 +10059,24 @@ module Aws::SecurityHub
8920
10059
  # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
8921
10060
  # },
8922
10061
  # ],
10062
+ # aws_account_name: [
10063
+ # {
10064
+ # value: "NonEmptyString",
10065
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
10066
+ # },
10067
+ # ],
10068
+ # resource_application_name: [
10069
+ # {
10070
+ # value: "NonEmptyString",
10071
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
10072
+ # },
10073
+ # ],
10074
+ # resource_application_arn: [
10075
+ # {
10076
+ # value: "NonEmptyString",
10077
+ # comparison: "EQUALS", # accepts EQUALS, PREFIX, NOT_EQUALS, PREFIX_NOT_EQUALS, CONTAINS, NOT_CONTAINS
10078
+ # },
10079
+ # ],
8923
10080
  # },
8924
10081
  # group_by_attribute: "NonEmptyString",
8925
10082
  # })
@@ -8933,44 +10090,63 @@ module Aws::SecurityHub
8933
10090
  req.send_request(options)
8934
10091
  end
8935
10092
 
8936
- # Used to update the configuration related to Organizations. Can only be
8937
- # called from a Security Hub administrator account.
10093
+ # Updates the configuration of your organization in Security Hub. Only
10094
+ # the Security Hub administrator account can invoke this operation.
8938
10095
  #
8939
10096
  # @option params [required, Boolean] :auto_enable
8940
- # Whether to automatically enable Security Hub for new accounts in the
8941
- # organization.
10097
+ # Whether to automatically enable Security Hub in new member accounts
10098
+ # when they join the organization.
8942
10099
  #
8943
- # By default, this is `false`, and new accounts are not added
8944
- # automatically.
10100
+ # If set to `true`, then Security Hub is automatically enabled in new
10101
+ # accounts. If set to `false`, then Security Hub isn't enabled in new
10102
+ # accounts automatically. The default value is `false`.
8945
10103
  #
8946
- # To automatically enable Security Hub for new accounts, set this to
8947
- # `true`.
10104
+ # If the `ConfigurationType` of your organization is set to `CENTRAL`,
10105
+ # then this field is set to `false` and can't be changed in the home
10106
+ # Region and linked Regions. However, in that case, the delegated
10107
+ # administrator can create a configuration policy in which Security Hub
10108
+ # is enabled and associate the policy with new organization accounts.
8948
10109
  #
8949
10110
  # @option params [String] :auto_enable_standards
8950
- # Whether to automatically enable Security Hub [default standards][1]
8951
- # for new member accounts in the organization.
10111
+ # Whether to automatically enable Security Hub [default standards][1] in
10112
+ # new member accounts when they join the organization.
8952
10113
  #
8953
- # By default, this parameter is equal to `DEFAULT`, and new member
8954
- # accounts are automatically enabled with default Security Hub
8955
- # standards.
10114
+ # The default value of this parameter is equal to `DEFAULT`.
10115
+ #
10116
+ # If equal to `DEFAULT`, then Security Hub default standards are
10117
+ # automatically enabled for new member accounts. If equal to `NONE`,
10118
+ # then default standards are not automatically enabled for new member
10119
+ # accounts.
8956
10120
  #
8957
- # To opt out of enabling default standards for new member accounts, set
8958
- # this parameter equal to `NONE`.
10121
+ # If the `ConfigurationType` of your organization is set to `CENTRAL`,
10122
+ # then this field is set to `NONE` and can't be changed in the home
10123
+ # Region and linked Regions. However, in that case, the delegated
10124
+ # administrator can create a configuration policy in which specific
10125
+ # security standards are enabled and associate the policy with new
10126
+ # organization accounts.
8959
10127
  #
8960
10128
  #
8961
10129
  #
8962
10130
  # [1]: https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-enable-disable.html
8963
10131
  #
10132
+ # @option params [Types::OrganizationConfiguration] :organization_configuration
10133
+ # Provides information about the way an organization is configured in
10134
+ # Security Hub.
10135
+ #
8964
10136
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
8965
10137
  #
8966
10138
  #
8967
10139
  # @example Example: To update organization configuration
8968
10140
  #
8969
- # # The following example updates the configuration for an organization so that Security Hub is automatically activated for
8970
- # # new member accounts. Only the Security Hub administrator account can call this operation.
10141
+ # # This operation updates the way your organization is configured in Security Hub. Only a Security Hub administrator
10142
+ # # account can invoke this operation.
8971
10143
  #
8972
10144
  # resp = client.update_organization_configuration({
8973
- # auto_enable: true,
10145
+ # auto_enable: false,
10146
+ # auto_enable_standards: "NONE",
10147
+ # organization_configuration: {
10148
+ # configuration_type: "CENTRAL",
10149
+ # },
8974
10150
  # })
8975
10151
  #
8976
10152
  # @example Request syntax with placeholder values
@@ -8978,6 +10154,11 @@ module Aws::SecurityHub
8978
10154
  # resp = client.update_organization_configuration({
8979
10155
  # auto_enable: false, # required
8980
10156
  # auto_enable_standards: "NONE", # accepts NONE, DEFAULT
10157
+ # organization_configuration: {
10158
+ # configuration_type: "CENTRAL", # accepts CENTRAL, LOCAL
10159
+ # status: "PENDING", # accepts PENDING, ENABLED, FAILED
10160
+ # status_message: "NonEmptyString",
10161
+ # },
8981
10162
  # })
8982
10163
  #
8983
10164
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration AWS API Documentation
@@ -9165,7 +10346,7 @@ module Aws::SecurityHub
9165
10346
  params: params,
9166
10347
  config: config)
9167
10348
  context[:gem_name] = 'aws-sdk-securityhub'
9168
- context[:gem_version] = '1.96.0'
10349
+ context[:gem_version] = '1.98.0'
9169
10350
  Seahorse::Client::Request.new(handlers, context)
9170
10351
  end
9171
10352