aws-sdk-securityhub 1.36.0 → 1.41.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -463,24 +463,30 @@ module Aws::SecurityHub
463
463
  # update the following finding fields and objects, which Security Hub
464
464
  # customers use to manage their investigation workflow.
465
465
  #
466
+ # * `Note`
467
+ #
468
+ # * `UserDefinedFields`
469
+ #
470
+ # * `VerificationState`
471
+ #
472
+ # * `Workflow`
473
+ #
474
+ # `BatchImportFindings` can be used to update the following finding
475
+ # fields and objects only if they have not been updated using
476
+ # `BatchUpdateFindings`. After they are updated using
477
+ # `BatchUpdateFindings`, these fields cannot be updated using
478
+ # `BatchImportFindings`.
479
+ #
466
480
  # * `Confidence`
467
481
  #
468
482
  # * `Criticality`
469
483
  #
470
- # * `Note`
471
- #
472
484
  # * `RelatedFindings`
473
485
  #
474
486
  # * `Severity`
475
487
  #
476
488
  # * `Types`
477
489
  #
478
- # * `UserDefinedFields`
479
- #
480
- # * `VerificationState`
481
- #
482
- # * `Workflow`
483
- #
484
490
  # @option params [required, Array<Types::AwsSecurityFinding>] :findings
485
491
  # A list of findings to import. To successfully import a finding, it
486
492
  # must follow the [AWS Security Finding Format][1]. Maximum of 100
@@ -745,6 +751,19 @@ module Aws::SecurityHub
745
751
  # },
746
752
  # ],
747
753
  # source_dest_check: false,
754
+ # ip_v6_addresses: [
755
+ # {
756
+ # ip_v6_address: "NonEmptyString",
757
+ # },
758
+ # ],
759
+ # private_ip_addresses: [
760
+ # {
761
+ # private_ip_address: "NonEmptyString",
762
+ # private_dns_name: "NonEmptyString",
763
+ # },
764
+ # ],
765
+ # public_dns_name: "NonEmptyString",
766
+ # public_ip: "NonEmptyString",
748
767
  # },
749
768
  # aws_ec2_security_group: {
750
769
  # group_name: "NonEmptyString",
@@ -1245,6 +1264,30 @@ module Aws::SecurityHub
1245
1264
  # sns_topic_name: "NonEmptyString",
1246
1265
  # trail_arn: "NonEmptyString",
1247
1266
  # },
1267
+ # aws_ssm_patch_compliance: {
1268
+ # patch: {
1269
+ # compliance_summary: {
1270
+ # status: "NonEmptyString",
1271
+ # compliant_critical_count: 1,
1272
+ # compliant_high_count: 1,
1273
+ # compliant_medium_count: 1,
1274
+ # execution_type: "NonEmptyString",
1275
+ # non_compliant_critical_count: 1,
1276
+ # compliant_informational_count: 1,
1277
+ # non_compliant_informational_count: 1,
1278
+ # compliant_unspecified_count: 1,
1279
+ # non_compliant_low_count: 1,
1280
+ # non_compliant_high_count: 1,
1281
+ # compliant_low_count: 1,
1282
+ # compliance_type: "NonEmptyString",
1283
+ # patch_baseline_id: "NonEmptyString",
1284
+ # overall_severity: "NonEmptyString",
1285
+ # non_compliant_medium_count: 1,
1286
+ # non_compliant_unspecified_count: 1,
1287
+ # patch_group: "NonEmptyString",
1288
+ # },
1289
+ # },
1290
+ # },
1248
1291
  # aws_certificate_manager_certificate: {
1249
1292
  # certificate_authority_arn: "NonEmptyString",
1250
1293
  # created_at: "NonEmptyString",
@@ -2021,6 +2064,114 @@ module Aws::SecurityHub
2021
2064
  # reboot_option: "NonEmptyString",
2022
2065
  # operation: "NonEmptyString",
2023
2066
  # },
2067
+ # action: {
2068
+ # action_type: "NonEmptyString",
2069
+ # network_connection_action: {
2070
+ # connection_direction: "NonEmptyString",
2071
+ # remote_ip_details: {
2072
+ # ip_address_v4: "NonEmptyString",
2073
+ # organization: {
2074
+ # asn: 1,
2075
+ # asn_org: "NonEmptyString",
2076
+ # isp: "NonEmptyString",
2077
+ # org: "NonEmptyString",
2078
+ # },
2079
+ # country: {
2080
+ # country_code: "NonEmptyString",
2081
+ # country_name: "NonEmptyString",
2082
+ # },
2083
+ # city: {
2084
+ # city_name: "NonEmptyString",
2085
+ # },
2086
+ # geo_location: {
2087
+ # lon: 1.0,
2088
+ # lat: 1.0,
2089
+ # },
2090
+ # },
2091
+ # remote_port_details: {
2092
+ # port: 1,
2093
+ # port_name: "NonEmptyString",
2094
+ # },
2095
+ # local_port_details: {
2096
+ # port: 1,
2097
+ # port_name: "NonEmptyString",
2098
+ # },
2099
+ # protocol: "NonEmptyString",
2100
+ # blocked: false,
2101
+ # },
2102
+ # aws_api_call_action: {
2103
+ # api: "NonEmptyString",
2104
+ # service_name: "NonEmptyString",
2105
+ # caller_type: "NonEmptyString",
2106
+ # remote_ip_details: {
2107
+ # ip_address_v4: "NonEmptyString",
2108
+ # organization: {
2109
+ # asn: 1,
2110
+ # asn_org: "NonEmptyString",
2111
+ # isp: "NonEmptyString",
2112
+ # org: "NonEmptyString",
2113
+ # },
2114
+ # country: {
2115
+ # country_code: "NonEmptyString",
2116
+ # country_name: "NonEmptyString",
2117
+ # },
2118
+ # city: {
2119
+ # city_name: "NonEmptyString",
2120
+ # },
2121
+ # geo_location: {
2122
+ # lon: 1.0,
2123
+ # lat: 1.0,
2124
+ # },
2125
+ # },
2126
+ # domain_details: {
2127
+ # domain: "NonEmptyString",
2128
+ # },
2129
+ # affected_resources: {
2130
+ # "NonEmptyString" => "NonEmptyString",
2131
+ # },
2132
+ # first_seen: "NonEmptyString",
2133
+ # last_seen: "NonEmptyString",
2134
+ # },
2135
+ # dns_request_action: {
2136
+ # domain: "NonEmptyString",
2137
+ # protocol: "NonEmptyString",
2138
+ # blocked: false,
2139
+ # },
2140
+ # port_probe_action: {
2141
+ # port_probe_details: [
2142
+ # {
2143
+ # local_port_details: {
2144
+ # port: 1,
2145
+ # port_name: "NonEmptyString",
2146
+ # },
2147
+ # local_ip_details: {
2148
+ # ip_address_v4: "NonEmptyString",
2149
+ # },
2150
+ # remote_ip_details: {
2151
+ # ip_address_v4: "NonEmptyString",
2152
+ # organization: {
2153
+ # asn: 1,
2154
+ # asn_org: "NonEmptyString",
2155
+ # isp: "NonEmptyString",
2156
+ # org: "NonEmptyString",
2157
+ # },
2158
+ # country: {
2159
+ # country_code: "NonEmptyString",
2160
+ # country_name: "NonEmptyString",
2161
+ # },
2162
+ # city: {
2163
+ # city_name: "NonEmptyString",
2164
+ # },
2165
+ # geo_location: {
2166
+ # lon: 1.0,
2167
+ # lat: 1.0,
2168
+ # },
2169
+ # },
2170
+ # },
2171
+ # ],
2172
+ # blocked: false,
2173
+ # },
2174
+ # },
2024
2175
  # },
2025
2176
  # ],
2026
2177
  # })
@@ -3197,9 +3348,13 @@ module Aws::SecurityHub
3197
3348
  req.send_request(options)
3198
3349
  end
3199
3350
 
3200
- # Returns information about the available products that you can
3201
- # subscribe to and integrate with Security Hub in order to consolidate
3202
- # findings.
3351
+ # Returns information about product integrations in Security Hub.
3352
+ #
3353
+ # You can optionally provide an integration ARN. If you provide an
3354
+ # integration ARN, then the results only include that integration.
3355
+ #
3356
+ # If you do not provide an integration ARN, then the results include all
3357
+ # of the available product integrations.
3203
3358
  #
3204
3359
  # @option params [String] :next_token
3205
3360
  # The token that is required for pagination. On your first call to the
@@ -3213,6 +3368,9 @@ module Aws::SecurityHub
3213
3368
  # @option params [Integer] :max_results
3214
3369
  # The maximum number of results to return.
3215
3370
  #
3371
+ # @option params [String] :product_arn
3372
+ # The ARN of the integration to return.
3373
+ #
3216
3374
  # @return [Types::DescribeProductsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3217
3375
  #
3218
3376
  # * {Types::DescribeProductsResponse#products #products} => Array&lt;Types::Product&gt;
@@ -3225,6 +3383,7 @@ module Aws::SecurityHub
3225
3383
  # resp = client.describe_products({
3226
3384
  # next_token: "NextToken",
3227
3385
  # max_results: 1,
3386
+ # product_arn: "NonEmptyString",
3228
3387
  # })
3229
3388
  #
3230
3389
  # @example Response structure
@@ -4416,6 +4575,13 @@ module Aws::SecurityHub
4416
4575
  # resp.findings[0].resources[0].details.aws_ec2_network_interface.security_groups[0].group_name #=> String
4417
4576
  # resp.findings[0].resources[0].details.aws_ec2_network_interface.security_groups[0].group_id #=> String
4418
4577
  # resp.findings[0].resources[0].details.aws_ec2_network_interface.source_dest_check #=> Boolean
4578
+ # resp.findings[0].resources[0].details.aws_ec2_network_interface.ip_v6_addresses #=> Array
4579
+ # resp.findings[0].resources[0].details.aws_ec2_network_interface.ip_v6_addresses[0].ip_v6_address #=> String
4580
+ # resp.findings[0].resources[0].details.aws_ec2_network_interface.private_ip_addresses #=> Array
4581
+ # resp.findings[0].resources[0].details.aws_ec2_network_interface.private_ip_addresses[0].private_ip_address #=> String
4582
+ # resp.findings[0].resources[0].details.aws_ec2_network_interface.private_ip_addresses[0].private_dns_name #=> String
4583
+ # resp.findings[0].resources[0].details.aws_ec2_network_interface.public_dns_name #=> String
4584
+ # resp.findings[0].resources[0].details.aws_ec2_network_interface.public_ip #=> String
4419
4585
  # resp.findings[0].resources[0].details.aws_ec2_security_group.group_name #=> String
4420
4586
  # resp.findings[0].resources[0].details.aws_ec2_security_group.group_id #=> String
4421
4587
  # resp.findings[0].resources[0].details.aws_ec2_security_group.owner_id #=> String
@@ -4749,6 +4915,24 @@ module Aws::SecurityHub
4749
4915
  # resp.findings[0].resources[0].details.aws_cloud_trail_trail.sns_topic_arn #=> String
4750
4916
  # resp.findings[0].resources[0].details.aws_cloud_trail_trail.sns_topic_name #=> String
4751
4917
  # resp.findings[0].resources[0].details.aws_cloud_trail_trail.trail_arn #=> String
4918
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.status #=> String
4919
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.compliant_critical_count #=> Integer
4920
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.compliant_high_count #=> Integer
4921
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.compliant_medium_count #=> Integer
4922
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.execution_type #=> String
4923
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.non_compliant_critical_count #=> Integer
4924
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.compliant_informational_count #=> Integer
4925
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.non_compliant_informational_count #=> Integer
4926
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.compliant_unspecified_count #=> Integer
4927
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.non_compliant_low_count #=> Integer
4928
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.non_compliant_high_count #=> Integer
4929
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.compliant_low_count #=> Integer
4930
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.compliance_type #=> String
4931
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.patch_baseline_id #=> String
4932
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.overall_severity #=> String
4933
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.non_compliant_medium_count #=> Integer
4934
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.non_compliant_unspecified_count #=> Integer
4935
+ # resp.findings[0].resources[0].details.aws_ssm_patch_compliance.patch.compliance_summary.patch_group #=> String
4752
4936
  # resp.findings[0].resources[0].details.aws_certificate_manager_certificate.certificate_authority_arn #=> String
4753
4937
  # resp.findings[0].resources[0].details.aws_certificate_manager_certificate.created_at #=> String
4754
4938
  # resp.findings[0].resources[0].details.aws_certificate_manager_certificate.domain_name #=> String
@@ -5298,6 +5482,60 @@ module Aws::SecurityHub
5298
5482
  # resp.findings[0].patch_summary.operation_end_time #=> String
5299
5483
  # resp.findings[0].patch_summary.reboot_option #=> String
5300
5484
  # resp.findings[0].patch_summary.operation #=> String
5485
+ # resp.findings[0].action.action_type #=> String
5486
+ # resp.findings[0].action.network_connection_action.connection_direction #=> String
5487
+ # resp.findings[0].action.network_connection_action.remote_ip_details.ip_address_v4 #=> String
5488
+ # resp.findings[0].action.network_connection_action.remote_ip_details.organization.asn #=> Integer
5489
+ # resp.findings[0].action.network_connection_action.remote_ip_details.organization.asn_org #=> String
5490
+ # resp.findings[0].action.network_connection_action.remote_ip_details.organization.isp #=> String
5491
+ # resp.findings[0].action.network_connection_action.remote_ip_details.organization.org #=> String
5492
+ # resp.findings[0].action.network_connection_action.remote_ip_details.country.country_code #=> String
5493
+ # resp.findings[0].action.network_connection_action.remote_ip_details.country.country_name #=> String
5494
+ # resp.findings[0].action.network_connection_action.remote_ip_details.city.city_name #=> String
5495
+ # resp.findings[0].action.network_connection_action.remote_ip_details.geo_location.lon #=> Float
5496
+ # resp.findings[0].action.network_connection_action.remote_ip_details.geo_location.lat #=> Float
5497
+ # resp.findings[0].action.network_connection_action.remote_port_details.port #=> Integer
5498
+ # resp.findings[0].action.network_connection_action.remote_port_details.port_name #=> String
5499
+ # resp.findings[0].action.network_connection_action.local_port_details.port #=> Integer
5500
+ # resp.findings[0].action.network_connection_action.local_port_details.port_name #=> String
5501
+ # resp.findings[0].action.network_connection_action.protocol #=> String
5502
+ # resp.findings[0].action.network_connection_action.blocked #=> Boolean
5503
+ # resp.findings[0].action.aws_api_call_action.api #=> String
5504
+ # resp.findings[0].action.aws_api_call_action.service_name #=> String
5505
+ # resp.findings[0].action.aws_api_call_action.caller_type #=> String
5506
+ # resp.findings[0].action.aws_api_call_action.remote_ip_details.ip_address_v4 #=> String
5507
+ # resp.findings[0].action.aws_api_call_action.remote_ip_details.organization.asn #=> Integer
5508
+ # resp.findings[0].action.aws_api_call_action.remote_ip_details.organization.asn_org #=> String
5509
+ # resp.findings[0].action.aws_api_call_action.remote_ip_details.organization.isp #=> String
5510
+ # resp.findings[0].action.aws_api_call_action.remote_ip_details.organization.org #=> String
5511
+ # resp.findings[0].action.aws_api_call_action.remote_ip_details.country.country_code #=> String
5512
+ # resp.findings[0].action.aws_api_call_action.remote_ip_details.country.country_name #=> String
5513
+ # resp.findings[0].action.aws_api_call_action.remote_ip_details.city.city_name #=> String
5514
+ # resp.findings[0].action.aws_api_call_action.remote_ip_details.geo_location.lon #=> Float
5515
+ # resp.findings[0].action.aws_api_call_action.remote_ip_details.geo_location.lat #=> Float
5516
+ # resp.findings[0].action.aws_api_call_action.domain_details.domain #=> String
5517
+ # resp.findings[0].action.aws_api_call_action.affected_resources #=> Hash
5518
+ # resp.findings[0].action.aws_api_call_action.affected_resources["NonEmptyString"] #=> String
5519
+ # resp.findings[0].action.aws_api_call_action.first_seen #=> String
5520
+ # resp.findings[0].action.aws_api_call_action.last_seen #=> String
5521
+ # resp.findings[0].action.dns_request_action.domain #=> String
5522
+ # resp.findings[0].action.dns_request_action.protocol #=> String
5523
+ # resp.findings[0].action.dns_request_action.blocked #=> Boolean
5524
+ # resp.findings[0].action.port_probe_action.port_probe_details #=> Array
5525
+ # resp.findings[0].action.port_probe_action.port_probe_details[0].local_port_details.port #=> Integer
5526
+ # resp.findings[0].action.port_probe_action.port_probe_details[0].local_port_details.port_name #=> String
5527
+ # resp.findings[0].action.port_probe_action.port_probe_details[0].local_ip_details.ip_address_v4 #=> String
5528
+ # resp.findings[0].action.port_probe_action.port_probe_details[0].remote_ip_details.ip_address_v4 #=> String
5529
+ # resp.findings[0].action.port_probe_action.port_probe_details[0].remote_ip_details.organization.asn #=> Integer
5530
+ # resp.findings[0].action.port_probe_action.port_probe_details[0].remote_ip_details.organization.asn_org #=> String
5531
+ # resp.findings[0].action.port_probe_action.port_probe_details[0].remote_ip_details.organization.isp #=> String
5532
+ # resp.findings[0].action.port_probe_action.port_probe_details[0].remote_ip_details.organization.org #=> String
5533
+ # resp.findings[0].action.port_probe_action.port_probe_details[0].remote_ip_details.country.country_code #=> String
5534
+ # resp.findings[0].action.port_probe_action.port_probe_details[0].remote_ip_details.country.country_name #=> String
5535
+ # resp.findings[0].action.port_probe_action.port_probe_details[0].remote_ip_details.city.city_name #=> String
5536
+ # resp.findings[0].action.port_probe_action.port_probe_details[0].remote_ip_details.geo_location.lon #=> Float
5537
+ # resp.findings[0].action.port_probe_action.port_probe_details[0].remote_ip_details.geo_location.lat #=> Float
5538
+ # resp.findings[0].action.port_probe_action.blocked #=> Boolean
5301
5539
  # resp.next_token #=> String
5302
5540
  #
5303
5541
  # @see http://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings AWS API Documentation
@@ -7407,7 +7645,7 @@ module Aws::SecurityHub
7407
7645
  params: params,
7408
7646
  config: config)
7409
7647
  context[:gem_name] = 'aws-sdk-securityhub'
7410
- context[:gem_version] = '1.36.0'
7648
+ context[:gem_version] = '1.41.0'
7411
7649
  Seahorse::Client::Request.new(handlers, context)
7412
7650
  end
7413
7651
 
@@ -3,7 +3,7 @@
3
3
  # WARNING ABOUT GENERATED CODE
4
4
  #
5
5
  # This file is generated. See the contributing guide for more information:
6
- # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
6
+ # https://github.com/aws/aws-sdk-ruby/blob/version-3/CONTRIBUTING.md
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
@@ -20,6 +20,11 @@ module Aws::SecurityHub
20
20
  AccountDetailsList = Shapes::ListShape.new(name: 'AccountDetailsList')
21
21
  AccountId = Shapes::StringShape.new(name: 'AccountId')
22
22
  AccountIdList = Shapes::ListShape.new(name: 'AccountIdList')
23
+ Action = Shapes::StructureShape.new(name: 'Action')
24
+ ActionLocalIpDetails = Shapes::StructureShape.new(name: 'ActionLocalIpDetails')
25
+ ActionLocalPortDetails = Shapes::StructureShape.new(name: 'ActionLocalPortDetails')
26
+ ActionRemoteIpDetails = Shapes::StructureShape.new(name: 'ActionRemoteIpDetails')
27
+ ActionRemotePortDetails = Shapes::StructureShape.new(name: 'ActionRemotePortDetails')
23
28
  ActionTarget = Shapes::StructureShape.new(name: 'ActionTarget')
24
29
  ActionTargetList = Shapes::ListShape.new(name: 'ActionTargetList')
25
30
  AdminAccount = Shapes::StructureShape.new(name: 'AdminAccount')
@@ -29,6 +34,8 @@ module Aws::SecurityHub
29
34
  ArnList = Shapes::ListShape.new(name: 'ArnList')
30
35
  AvailabilityZone = Shapes::StructureShape.new(name: 'AvailabilityZone')
31
36
  AvailabilityZones = Shapes::ListShape.new(name: 'AvailabilityZones')
37
+ AwsApiCallAction = Shapes::StructureShape.new(name: 'AwsApiCallAction')
38
+ AwsApiCallActionDomainDetails = Shapes::StructureShape.new(name: 'AwsApiCallActionDomainDetails')
32
39
  AwsApiGatewayAccessLogSettings = Shapes::StructureShape.new(name: 'AwsApiGatewayAccessLogSettings')
33
40
  AwsApiGatewayCanarySettings = Shapes::StructureShape.new(name: 'AwsApiGatewayCanarySettings')
34
41
  AwsApiGatewayEndpointConfiguration = Shapes::StructureShape.new(name: 'AwsApiGatewayEndpointConfiguration')
@@ -97,6 +104,10 @@ module Aws::SecurityHub
97
104
  AwsEc2InstanceDetails = Shapes::StructureShape.new(name: 'AwsEc2InstanceDetails')
98
105
  AwsEc2NetworkInterfaceAttachment = Shapes::StructureShape.new(name: 'AwsEc2NetworkInterfaceAttachment')
99
106
  AwsEc2NetworkInterfaceDetails = Shapes::StructureShape.new(name: 'AwsEc2NetworkInterfaceDetails')
107
+ AwsEc2NetworkInterfaceIpV6AddressDetail = Shapes::StructureShape.new(name: 'AwsEc2NetworkInterfaceIpV6AddressDetail')
108
+ AwsEc2NetworkInterfaceIpV6AddressList = Shapes::ListShape.new(name: 'AwsEc2NetworkInterfaceIpV6AddressList')
109
+ AwsEc2NetworkInterfacePrivateIpAddressDetail = Shapes::StructureShape.new(name: 'AwsEc2NetworkInterfacePrivateIpAddressDetail')
110
+ AwsEc2NetworkInterfacePrivateIpAddressList = Shapes::ListShape.new(name: 'AwsEc2NetworkInterfacePrivateIpAddressList')
100
111
  AwsEc2NetworkInterfaceSecurityGroup = Shapes::StructureShape.new(name: 'AwsEc2NetworkInterfaceSecurityGroup')
101
112
  AwsEc2NetworkInterfaceSecurityGroupList = Shapes::ListShape.new(name: 'AwsEc2NetworkInterfaceSecurityGroupList')
102
113
  AwsEc2SecurityGroupDetails = Shapes::StructureShape.new(name: 'AwsEc2SecurityGroupDetails')
@@ -247,6 +258,9 @@ module Aws::SecurityHub
247
258
  AwsSnsTopicSubscription = Shapes::StructureShape.new(name: 'AwsSnsTopicSubscription')
248
259
  AwsSnsTopicSubscriptionList = Shapes::ListShape.new(name: 'AwsSnsTopicSubscriptionList')
249
260
  AwsSqsQueueDetails = Shapes::StructureShape.new(name: 'AwsSqsQueueDetails')
261
+ AwsSsmComplianceSummary = Shapes::StructureShape.new(name: 'AwsSsmComplianceSummary')
262
+ AwsSsmPatch = Shapes::StructureShape.new(name: 'AwsSsmPatch')
263
+ AwsSsmPatchComplianceDetails = Shapes::StructureShape.new(name: 'AwsSsmPatchComplianceDetails')
250
264
  AwsWafWebAclDetails = Shapes::StructureShape.new(name: 'AwsWafWebAclDetails')
251
265
  AwsWafWebAclRule = Shapes::StructureShape.new(name: 'AwsWafWebAclRule')
252
266
  AwsWafWebAclRuleList = Shapes::ListShape.new(name: 'AwsWafWebAclRuleList')
@@ -264,10 +278,12 @@ module Aws::SecurityHub
264
278
  CategoryList = Shapes::ListShape.new(name: 'CategoryList')
265
279
  CidrBlockAssociation = Shapes::StructureShape.new(name: 'CidrBlockAssociation')
266
280
  CidrBlockAssociationList = Shapes::ListShape.new(name: 'CidrBlockAssociationList')
281
+ City = Shapes::StructureShape.new(name: 'City')
267
282
  Compliance = Shapes::StructureShape.new(name: 'Compliance')
268
283
  ComplianceStatus = Shapes::StringShape.new(name: 'ComplianceStatus')
269
284
  ContainerDetails = Shapes::StructureShape.new(name: 'ContainerDetails')
270
285
  ControlStatus = Shapes::StringShape.new(name: 'ControlStatus')
286
+ Country = Shapes::StructureShape.new(name: 'Country')
271
287
  CreateActionTargetRequest = Shapes::StructureShape.new(name: 'CreateActionTargetRequest')
272
288
  CreateActionTargetResponse = Shapes::StructureShape.new(name: 'CreateActionTargetResponse')
273
289
  CreateInsightRequest = Shapes::StructureShape.new(name: 'CreateInsightRequest')
@@ -313,6 +329,7 @@ module Aws::SecurityHub
313
329
  DisassociateFromMasterAccountResponse = Shapes::StructureShape.new(name: 'DisassociateFromMasterAccountResponse')
314
330
  DisassociateMembersRequest = Shapes::StructureShape.new(name: 'DisassociateMembersRequest')
315
331
  DisassociateMembersResponse = Shapes::StructureShape.new(name: 'DisassociateMembersResponse')
332
+ DnsRequestAction = Shapes::StructureShape.new(name: 'DnsRequestAction')
316
333
  Double = Shapes::FloatShape.new(name: 'Double')
317
334
  EnableImportFindingsForProductRequest = Shapes::StructureShape.new(name: 'EnableImportFindingsForProductRequest')
318
335
  EnableImportFindingsForProductResponse = Shapes::StructureShape.new(name: 'EnableImportFindingsForProductResponse')
@@ -321,6 +338,7 @@ module Aws::SecurityHub
321
338
  EnableSecurityHubRequest = Shapes::StructureShape.new(name: 'EnableSecurityHubRequest')
322
339
  EnableSecurityHubResponse = Shapes::StructureShape.new(name: 'EnableSecurityHubResponse')
323
340
  FieldMap = Shapes::MapShape.new(name: 'FieldMap')
341
+ GeoLocation = Shapes::StructureShape.new(name: 'GeoLocation')
324
342
  GetEnabledStandardsRequest = Shapes::StructureShape.new(name: 'GetEnabledStandardsRequest')
325
343
  GetEnabledStandardsResponse = Shapes::StructureShape.new(name: 'GetEnabledStandardsResponse')
326
344
  GetFindingsRequest = Shapes::StructureShape.new(name: 'GetFindingsRequest')
@@ -354,6 +372,7 @@ module Aws::SecurityHub
354
372
  InviteMembersResponse = Shapes::StructureShape.new(name: 'InviteMembersResponse')
355
373
  IpFilter = Shapes::StructureShape.new(name: 'IpFilter')
356
374
  IpFilterList = Shapes::ListShape.new(name: 'IpFilterList')
375
+ IpOrganizationDetails = Shapes::StructureShape.new(name: 'IpOrganizationDetails')
357
376
  Ipv6CidrBlockAssociation = Shapes::StructureShape.new(name: 'Ipv6CidrBlockAssociation')
358
377
  Ipv6CidrBlockAssociationList = Shapes::ListShape.new(name: 'Ipv6CidrBlockAssociationList')
359
378
  KeywordFilter = Shapes::StructureShape.new(name: 'KeywordFilter')
@@ -382,6 +401,7 @@ module Aws::SecurityHub
382
401
  Member = Shapes::StructureShape.new(name: 'Member')
383
402
  MemberList = Shapes::ListShape.new(name: 'MemberList')
384
403
  Network = Shapes::StructureShape.new(name: 'Network')
404
+ NetworkConnectionAction = Shapes::StructureShape.new(name: 'NetworkConnectionAction')
385
405
  NetworkDirection = Shapes::StringShape.new(name: 'NetworkDirection')
386
406
  NetworkHeader = Shapes::StructureShape.new(name: 'NetworkHeader')
387
407
  NetworkPathComponent = Shapes::StructureShape.new(name: 'NetworkPathComponent')
@@ -396,6 +416,9 @@ module Aws::SecurityHub
396
416
  NumberFilterList = Shapes::ListShape.new(name: 'NumberFilterList')
397
417
  Partition = Shapes::StringShape.new(name: 'Partition')
398
418
  PatchSummary = Shapes::StructureShape.new(name: 'PatchSummary')
419
+ PortProbeAction = Shapes::StructureShape.new(name: 'PortProbeAction')
420
+ PortProbeDetail = Shapes::StructureShape.new(name: 'PortProbeDetail')
421
+ PortProbeDetailList = Shapes::ListShape.new(name: 'PortProbeDetailList')
399
422
  PortRange = Shapes::StructureShape.new(name: 'PortRange')
400
423
  PortRangeList = Shapes::ListShape.new(name: 'PortRangeList')
401
424
  ProcessDetails = Shapes::StructureShape.new(name: 'ProcessDetails')
@@ -502,6 +525,31 @@ module Aws::SecurityHub
502
525
 
503
526
  AccountIdList.member = Shapes::ShapeRef.new(shape: NonEmptyString)
504
527
 
528
+ Action.add_member(:action_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ActionType"))
529
+ Action.add_member(:network_connection_action, Shapes::ShapeRef.new(shape: NetworkConnectionAction, location_name: "NetworkConnectionAction"))
530
+ Action.add_member(:aws_api_call_action, Shapes::ShapeRef.new(shape: AwsApiCallAction, location_name: "AwsApiCallAction"))
531
+ Action.add_member(:dns_request_action, Shapes::ShapeRef.new(shape: DnsRequestAction, location_name: "DnsRequestAction"))
532
+ Action.add_member(:port_probe_action, Shapes::ShapeRef.new(shape: PortProbeAction, location_name: "PortProbeAction"))
533
+ Action.struct_class = Types::Action
534
+
535
+ ActionLocalIpDetails.add_member(:ip_address_v4, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IpAddressV4"))
536
+ ActionLocalIpDetails.struct_class = Types::ActionLocalIpDetails
537
+
538
+ ActionLocalPortDetails.add_member(:port, Shapes::ShapeRef.new(shape: Integer, location_name: "Port"))
539
+ ActionLocalPortDetails.add_member(:port_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PortName"))
540
+ ActionLocalPortDetails.struct_class = Types::ActionLocalPortDetails
541
+
542
+ ActionRemoteIpDetails.add_member(:ip_address_v4, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IpAddressV4"))
543
+ ActionRemoteIpDetails.add_member(:organization, Shapes::ShapeRef.new(shape: IpOrganizationDetails, location_name: "Organization"))
544
+ ActionRemoteIpDetails.add_member(:country, Shapes::ShapeRef.new(shape: Country, location_name: "Country"))
545
+ ActionRemoteIpDetails.add_member(:city, Shapes::ShapeRef.new(shape: City, location_name: "City"))
546
+ ActionRemoteIpDetails.add_member(:geo_location, Shapes::ShapeRef.new(shape: GeoLocation, location_name: "GeoLocation"))
547
+ ActionRemoteIpDetails.struct_class = Types::ActionRemoteIpDetails
548
+
549
+ ActionRemotePortDetails.add_member(:port, Shapes::ShapeRef.new(shape: Integer, location_name: "Port"))
550
+ ActionRemotePortDetails.add_member(:port_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PortName"))
551
+ ActionRemotePortDetails.struct_class = Types::ActionRemotePortDetails
552
+
505
553
  ActionTarget.add_member(:action_target_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ActionTargetArn"))
506
554
  ActionTarget.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Name"))
507
555
  ActionTarget.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Description"))
@@ -523,6 +571,19 @@ module Aws::SecurityHub
523
571
 
524
572
  AvailabilityZones.member = Shapes::ShapeRef.new(shape: AvailabilityZone)
525
573
 
574
+ AwsApiCallAction.add_member(:api, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Api"))
575
+ AwsApiCallAction.add_member(:service_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ServiceName"))
576
+ AwsApiCallAction.add_member(:caller_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CallerType"))
577
+ AwsApiCallAction.add_member(:remote_ip_details, Shapes::ShapeRef.new(shape: ActionRemoteIpDetails, location_name: "RemoteIpDetails"))
578
+ AwsApiCallAction.add_member(:domain_details, Shapes::ShapeRef.new(shape: AwsApiCallActionDomainDetails, location_name: "DomainDetails"))
579
+ AwsApiCallAction.add_member(:affected_resources, Shapes::ShapeRef.new(shape: FieldMap, location_name: "AffectedResources"))
580
+ AwsApiCallAction.add_member(:first_seen, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "FirstSeen"))
581
+ AwsApiCallAction.add_member(:last_seen, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LastSeen"))
582
+ AwsApiCallAction.struct_class = Types::AwsApiCallAction
583
+
584
+ AwsApiCallActionDomainDetails.add_member(:domain, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Domain"))
585
+ AwsApiCallActionDomainDetails.struct_class = Types::AwsApiCallActionDomainDetails
586
+
526
587
  AwsApiGatewayAccessLogSettings.add_member(:format, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Format"))
527
588
  AwsApiGatewayAccessLogSettings.add_member(:destination_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DestinationArn"))
528
589
  AwsApiGatewayAccessLogSettings.struct_class = Types::AwsApiGatewayAccessLogSettings
@@ -936,8 +997,23 @@ module Aws::SecurityHub
936
997
  AwsEc2NetworkInterfaceDetails.add_member(:network_interface_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "NetworkInterfaceId"))
937
998
  AwsEc2NetworkInterfaceDetails.add_member(:security_groups, Shapes::ShapeRef.new(shape: AwsEc2NetworkInterfaceSecurityGroupList, location_name: "SecurityGroups"))
938
999
  AwsEc2NetworkInterfaceDetails.add_member(:source_dest_check, Shapes::ShapeRef.new(shape: Boolean, location_name: "SourceDestCheck"))
1000
+ AwsEc2NetworkInterfaceDetails.add_member(:ip_v6_addresses, Shapes::ShapeRef.new(shape: AwsEc2NetworkInterfaceIpV6AddressList, location_name: "IpV6Addresses"))
1001
+ AwsEc2NetworkInterfaceDetails.add_member(:private_ip_addresses, Shapes::ShapeRef.new(shape: AwsEc2NetworkInterfacePrivateIpAddressList, location_name: "PrivateIpAddresses"))
1002
+ AwsEc2NetworkInterfaceDetails.add_member(:public_dns_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PublicDnsName"))
1003
+ AwsEc2NetworkInterfaceDetails.add_member(:public_ip, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PublicIp"))
939
1004
  AwsEc2NetworkInterfaceDetails.struct_class = Types::AwsEc2NetworkInterfaceDetails
940
1005
 
1006
+ AwsEc2NetworkInterfaceIpV6AddressDetail.add_member(:ip_v6_address, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "IpV6Address"))
1007
+ AwsEc2NetworkInterfaceIpV6AddressDetail.struct_class = Types::AwsEc2NetworkInterfaceIpV6AddressDetail
1008
+
1009
+ AwsEc2NetworkInterfaceIpV6AddressList.member = Shapes::ShapeRef.new(shape: AwsEc2NetworkInterfaceIpV6AddressDetail)
1010
+
1011
+ AwsEc2NetworkInterfacePrivateIpAddressDetail.add_member(:private_ip_address, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PrivateIpAddress"))
1012
+ AwsEc2NetworkInterfacePrivateIpAddressDetail.add_member(:private_dns_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PrivateDnsName"))
1013
+ AwsEc2NetworkInterfacePrivateIpAddressDetail.struct_class = Types::AwsEc2NetworkInterfacePrivateIpAddressDetail
1014
+
1015
+ AwsEc2NetworkInterfacePrivateIpAddressList.member = Shapes::ShapeRef.new(shape: AwsEc2NetworkInterfacePrivateIpAddressDetail)
1016
+
941
1017
  AwsEc2NetworkInterfaceSecurityGroup.add_member(:group_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GroupName"))
942
1018
  AwsEc2NetworkInterfaceSecurityGroup.add_member(:group_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "GroupId"))
943
1019
  AwsEc2NetworkInterfaceSecurityGroup.struct_class = Types::AwsEc2NetworkInterfaceSecurityGroup
@@ -1797,6 +1873,7 @@ module Aws::SecurityHub
1797
1873
  AwsSecurityFinding.add_member(:note, Shapes::ShapeRef.new(shape: Note, location_name: "Note"))
1798
1874
  AwsSecurityFinding.add_member(:vulnerabilities, Shapes::ShapeRef.new(shape: VulnerabilityList, location_name: "Vulnerabilities"))
1799
1875
  AwsSecurityFinding.add_member(:patch_summary, Shapes::ShapeRef.new(shape: PatchSummary, location_name: "PatchSummary"))
1876
+ AwsSecurityFinding.add_member(:action, Shapes::ShapeRef.new(shape: Action, location_name: "Action"))
1800
1877
  AwsSecurityFinding.struct_class = Types::AwsSecurityFinding
1801
1878
 
1802
1879
  AwsSecurityFindingFilters.add_member(:product_arn, Shapes::ShapeRef.new(shape: StringFilterList, location_name: "ProductArn"))
@@ -1911,6 +1988,32 @@ module Aws::SecurityHub
1911
1988
  AwsSqsQueueDetails.add_member(:dead_letter_target_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DeadLetterTargetArn"))
1912
1989
  AwsSqsQueueDetails.struct_class = Types::AwsSqsQueueDetails
1913
1990
 
1991
+ AwsSsmComplianceSummary.add_member(:status, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Status"))
1992
+ AwsSsmComplianceSummary.add_member(:compliant_critical_count, Shapes::ShapeRef.new(shape: Integer, location_name: "CompliantCriticalCount"))
1993
+ AwsSsmComplianceSummary.add_member(:compliant_high_count, Shapes::ShapeRef.new(shape: Integer, location_name: "CompliantHighCount"))
1994
+ AwsSsmComplianceSummary.add_member(:compliant_medium_count, Shapes::ShapeRef.new(shape: Integer, location_name: "CompliantMediumCount"))
1995
+ AwsSsmComplianceSummary.add_member(:execution_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ExecutionType"))
1996
+ AwsSsmComplianceSummary.add_member(:non_compliant_critical_count, Shapes::ShapeRef.new(shape: Integer, location_name: "NonCompliantCriticalCount"))
1997
+ AwsSsmComplianceSummary.add_member(:compliant_informational_count, Shapes::ShapeRef.new(shape: Integer, location_name: "CompliantInformationalCount"))
1998
+ AwsSsmComplianceSummary.add_member(:non_compliant_informational_count, Shapes::ShapeRef.new(shape: Integer, location_name: "NonCompliantInformationalCount"))
1999
+ AwsSsmComplianceSummary.add_member(:compliant_unspecified_count, Shapes::ShapeRef.new(shape: Integer, location_name: "CompliantUnspecifiedCount"))
2000
+ AwsSsmComplianceSummary.add_member(:non_compliant_low_count, Shapes::ShapeRef.new(shape: Integer, location_name: "NonCompliantLowCount"))
2001
+ AwsSsmComplianceSummary.add_member(:non_compliant_high_count, Shapes::ShapeRef.new(shape: Integer, location_name: "NonCompliantHighCount"))
2002
+ AwsSsmComplianceSummary.add_member(:compliant_low_count, Shapes::ShapeRef.new(shape: Integer, location_name: "CompliantLowCount"))
2003
+ AwsSsmComplianceSummary.add_member(:compliance_type, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ComplianceType"))
2004
+ AwsSsmComplianceSummary.add_member(:patch_baseline_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PatchBaselineId"))
2005
+ AwsSsmComplianceSummary.add_member(:overall_severity, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "OverallSeverity"))
2006
+ AwsSsmComplianceSummary.add_member(:non_compliant_medium_count, Shapes::ShapeRef.new(shape: Integer, location_name: "NonCompliantMediumCount"))
2007
+ AwsSsmComplianceSummary.add_member(:non_compliant_unspecified_count, Shapes::ShapeRef.new(shape: Integer, location_name: "NonCompliantUnspecifiedCount"))
2008
+ AwsSsmComplianceSummary.add_member(:patch_group, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "PatchGroup"))
2009
+ AwsSsmComplianceSummary.struct_class = Types::AwsSsmComplianceSummary
2010
+
2011
+ AwsSsmPatch.add_member(:compliance_summary, Shapes::ShapeRef.new(shape: AwsSsmComplianceSummary, location_name: "ComplianceSummary"))
2012
+ AwsSsmPatch.struct_class = Types::AwsSsmPatch
2013
+
2014
+ AwsSsmPatchComplianceDetails.add_member(:patch, Shapes::ShapeRef.new(shape: AwsSsmPatch, location_name: "Patch"))
2015
+ AwsSsmPatchComplianceDetails.struct_class = Types::AwsSsmPatchComplianceDetails
2016
+
1914
2017
  AwsWafWebAclDetails.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Name"))
1915
2018
  AwsWafWebAclDetails.add_member(:default_action, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DefaultAction"))
1916
2019
  AwsWafWebAclDetails.add_member(:rules, Shapes::ShapeRef.new(shape: AwsWafWebAclRuleList, location_name: "Rules"))
@@ -1979,6 +2082,9 @@ module Aws::SecurityHub
1979
2082
 
1980
2083
  CidrBlockAssociationList.member = Shapes::ShapeRef.new(shape: CidrBlockAssociation)
1981
2084
 
2085
+ City.add_member(:city_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CityName"))
2086
+ City.struct_class = Types::City
2087
+
1982
2088
  Compliance.add_member(:status, Shapes::ShapeRef.new(shape: ComplianceStatus, location_name: "Status"))
1983
2089
  Compliance.add_member(:related_requirements, Shapes::ShapeRef.new(shape: RelatedRequirementsList, location_name: "RelatedRequirements"))
1984
2090
  Compliance.add_member(:status_reasons, Shapes::ShapeRef.new(shape: StatusReasonsList, location_name: "StatusReasons"))
@@ -1990,6 +2096,10 @@ module Aws::SecurityHub
1990
2096
  ContainerDetails.add_member(:launched_at, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "LaunchedAt"))
1991
2097
  ContainerDetails.struct_class = Types::ContainerDetails
1992
2098
 
2099
+ Country.add_member(:country_code, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CountryCode"))
2100
+ Country.add_member(:country_name, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CountryName"))
2101
+ Country.struct_class = Types::Country
2102
+
1993
2103
  CreateActionTargetRequest.add_member(:name, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Name"))
1994
2104
  CreateActionTargetRequest.add_member(:description, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Description"))
1995
2105
  CreateActionTargetRequest.add_member(:id, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "Id"))
@@ -2085,6 +2195,7 @@ module Aws::SecurityHub
2085
2195
 
2086
2196
  DescribeProductsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "NextToken"))
2087
2197
  DescribeProductsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "MaxResults"))
2198
+ DescribeProductsRequest.add_member(:product_arn, Shapes::ShapeRef.new(shape: NonEmptyString, location: "querystring", location_name: "ProductArn"))
2088
2199
  DescribeProductsRequest.struct_class = Types::DescribeProductsRequest
2089
2200
 
2090
2201
  DescribeProductsResponse.add_member(:products, Shapes::ShapeRef.new(shape: ProductsList, required: true, location_name: "Products"))
@@ -2131,6 +2242,11 @@ module Aws::SecurityHub
2131
2242
 
2132
2243
  DisassociateMembersResponse.struct_class = Types::DisassociateMembersResponse
2133
2244
 
2245
+ DnsRequestAction.add_member(:domain, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Domain"))
2246
+ DnsRequestAction.add_member(:protocol, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Protocol"))
2247
+ DnsRequestAction.add_member(:blocked, Shapes::ShapeRef.new(shape: Boolean, location_name: "Blocked"))
2248
+ DnsRequestAction.struct_class = Types::DnsRequestAction
2249
+
2134
2250
  EnableImportFindingsForProductRequest.add_member(:product_arn, Shapes::ShapeRef.new(shape: NonEmptyString, required: true, location_name: "ProductArn"))
2135
2251
  EnableImportFindingsForProductRequest.struct_class = Types::EnableImportFindingsForProductRequest
2136
2252
 
@@ -2151,6 +2267,10 @@ module Aws::SecurityHub
2151
2267
  FieldMap.key = Shapes::ShapeRef.new(shape: NonEmptyString)
2152
2268
  FieldMap.value = Shapes::ShapeRef.new(shape: NonEmptyString)
2153
2269
 
2270
+ GeoLocation.add_member(:lon, Shapes::ShapeRef.new(shape: Double, location_name: "Lon"))
2271
+ GeoLocation.add_member(:lat, Shapes::ShapeRef.new(shape: Double, location_name: "Lat"))
2272
+ GeoLocation.struct_class = Types::GeoLocation
2273
+
2154
2274
  GetEnabledStandardsRequest.add_member(:standards_subscription_arns, Shapes::ShapeRef.new(shape: StandardsSubscriptionArns, location_name: "StandardsSubscriptionArns"))
2155
2275
  GetEnabledStandardsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
2156
2276
  GetEnabledStandardsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
@@ -2261,6 +2381,12 @@ module Aws::SecurityHub
2261
2381
 
2262
2382
  IpFilterList.member = Shapes::ShapeRef.new(shape: IpFilter)
2263
2383
 
2384
+ IpOrganizationDetails.add_member(:asn, Shapes::ShapeRef.new(shape: Integer, location_name: "Asn"))
2385
+ IpOrganizationDetails.add_member(:asn_org, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AsnOrg"))
2386
+ IpOrganizationDetails.add_member(:isp, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Isp"))
2387
+ IpOrganizationDetails.add_member(:org, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Org"))
2388
+ IpOrganizationDetails.struct_class = Types::IpOrganizationDetails
2389
+
2264
2390
  Ipv6CidrBlockAssociation.add_member(:association_id, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "AssociationId"))
2265
2391
  Ipv6CidrBlockAssociation.add_member(:ipv_6_cidr_block, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Ipv6CidrBlock"))
2266
2392
  Ipv6CidrBlockAssociation.add_member(:cidr_block_state, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "CidrBlockState"))
@@ -2359,6 +2485,14 @@ module Aws::SecurityHub
2359
2485
  Network.add_member(:destination_domain, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "DestinationDomain"))
2360
2486
  Network.struct_class = Types::Network
2361
2487
 
2488
+ NetworkConnectionAction.add_member(:connection_direction, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "ConnectionDirection"))
2489
+ NetworkConnectionAction.add_member(:remote_ip_details, Shapes::ShapeRef.new(shape: ActionRemoteIpDetails, location_name: "RemoteIpDetails"))
2490
+ NetworkConnectionAction.add_member(:remote_port_details, Shapes::ShapeRef.new(shape: ActionRemotePortDetails, location_name: "RemotePortDetails"))
2491
+ NetworkConnectionAction.add_member(:local_port_details, Shapes::ShapeRef.new(shape: ActionLocalPortDetails, location_name: "LocalPortDetails"))
2492
+ NetworkConnectionAction.add_member(:protocol, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Protocol"))
2493
+ NetworkConnectionAction.add_member(:blocked, Shapes::ShapeRef.new(shape: Boolean, location_name: "Blocked"))
2494
+ NetworkConnectionAction.struct_class = Types::NetworkConnectionAction
2495
+
2362
2496
  NetworkHeader.add_member(:protocol, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Protocol"))
2363
2497
  NetworkHeader.add_member(:destination, Shapes::ShapeRef.new(shape: NetworkPathComponentDetails, location_name: "Destination"))
2364
2498
  NetworkHeader.add_member(:source, Shapes::ShapeRef.new(shape: NetworkPathComponentDetails, location_name: "Source"))
@@ -2407,6 +2541,17 @@ module Aws::SecurityHub
2407
2541
  PatchSummary.add_member(:operation, Shapes::ShapeRef.new(shape: NonEmptyString, location_name: "Operation"))
2408
2542
  PatchSummary.struct_class = Types::PatchSummary
2409
2543
 
2544
+ PortProbeAction.add_member(:port_probe_details, Shapes::ShapeRef.new(shape: PortProbeDetailList, location_name: "PortProbeDetails"))
2545
+ PortProbeAction.add_member(:blocked, Shapes::ShapeRef.new(shape: Boolean, location_name: "Blocked"))
2546
+ PortProbeAction.struct_class = Types::PortProbeAction
2547
+
2548
+ PortProbeDetail.add_member(:local_port_details, Shapes::ShapeRef.new(shape: ActionLocalPortDetails, location_name: "LocalPortDetails"))
2549
+ PortProbeDetail.add_member(:local_ip_details, Shapes::ShapeRef.new(shape: ActionLocalIpDetails, location_name: "LocalIpDetails"))
2550
+ PortProbeDetail.add_member(:remote_ip_details, Shapes::ShapeRef.new(shape: ActionRemoteIpDetails, location_name: "RemoteIpDetails"))
2551
+ PortProbeDetail.struct_class = Types::PortProbeDetail
2552
+
2553
+ PortProbeDetailList.member = Shapes::ShapeRef.new(shape: PortProbeDetail)
2554
+
2410
2555
  PortRange.add_member(:begin, Shapes::ShapeRef.new(shape: Integer, location_name: "Begin"))
2411
2556
  PortRange.add_member(:end, Shapes::ShapeRef.new(shape: Integer, location_name: "End"))
2412
2557
  PortRange.struct_class = Types::PortRange
@@ -2487,6 +2632,7 @@ module Aws::SecurityHub
2487
2632
  ResourceDetails.add_member(:aws_api_gateway_stage, Shapes::ShapeRef.new(shape: AwsApiGatewayStageDetails, location_name: "AwsApiGatewayStage"))
2488
2633
  ResourceDetails.add_member(:aws_api_gateway_rest_api, Shapes::ShapeRef.new(shape: AwsApiGatewayRestApiDetails, location_name: "AwsApiGatewayRestApi"))
2489
2634
  ResourceDetails.add_member(:aws_cloud_trail_trail, Shapes::ShapeRef.new(shape: AwsCloudTrailTrailDetails, location_name: "AwsCloudTrailTrail"))
2635
+ ResourceDetails.add_member(:aws_ssm_patch_compliance, Shapes::ShapeRef.new(shape: AwsSsmPatchComplianceDetails, location_name: "AwsSsmPatchCompliance"))
2490
2636
  ResourceDetails.add_member(:aws_certificate_manager_certificate, Shapes::ShapeRef.new(shape: AwsCertificateManagerCertificateDetails, location_name: "AwsCertificateManagerCertificate"))
2491
2637
  ResourceDetails.add_member(:aws_redshift_cluster, Shapes::ShapeRef.new(shape: AwsRedshiftClusterDetails, location_name: "AwsRedshiftCluster"))
2492
2638
  ResourceDetails.add_member(:aws_elb_load_balancer, Shapes::ShapeRef.new(shape: AwsElbLoadBalancerDetails, location_name: "AwsElbLoadBalancer"))