aws-sdk-securityhub 1.36.0 → 1.41.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.
@@ -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"))