aws-sdk-configservice 1.19.0 → 1.20.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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 4bfb7ccf0b7dd67efe80b916b096d443e0e4aa0a
4
- data.tar.gz: 96753ae00e8e802e642cc51c67cbce02f0bfa5c6
3
+ metadata.gz: 563d5c62b25a29579b0ef5cd405b7b0d7528a13e
4
+ data.tar.gz: b812e8699c6a588b438819d037ad4679800b914f
5
5
  SHA512:
6
- metadata.gz: d6b6077ac883e62e88eb638f5fdee78425f2b218b252d41384563e7924c9bf1020bb74201f4d21eca57450c96c5a08849828884b17787663a579278de040325d
7
- data.tar.gz: 7be162cbc7ca039643a22c31199064fcfe7f90240b40dde5655d79704fac8da15b50e21033a5717ce483c2477645240a090eea1eff9cd1b6fb668a7335586684
6
+ metadata.gz: eb52edc1f5f64874a3d8b1364302185a6dc5ed9361605951770a945ba67515840aceb095c121dbef732b0cd8b56c31b780e6da2865345396a79629e755c975f6
7
+ data.tar.gz: b1f8d47cd60556a37ee52537131c5214bf30cfa6f57183e88d098165d2c2cb241999a52ce1f6257fe0149fb04ba58b9ba39a64be0cef2479869a4846d3ec1e3a
@@ -42,6 +42,6 @@ require_relative 'aws-sdk-configservice/customizations'
42
42
  # @service
43
43
  module Aws::ConfigService
44
44
 
45
- GEM_VERSION = '1.19.0'
45
+ GEM_VERSION = '1.20.0'
46
46
 
47
47
  end
@@ -15,6 +15,7 @@ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
15
  require 'aws-sdk-core/plugins/retry_errors.rb'
16
16
  require 'aws-sdk-core/plugins/global_configuration.rb'
17
17
  require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
18
19
  require 'aws-sdk-core/plugins/response_paging.rb'
19
20
  require 'aws-sdk-core/plugins/stub_responses.rb'
20
21
  require 'aws-sdk-core/plugins/idempotency_token.rb'
@@ -45,6 +46,7 @@ module Aws::ConfigService
45
46
  add_plugin(Aws::Plugins::RetryErrors)
46
47
  add_plugin(Aws::Plugins::GlobalConfiguration)
47
48
  add_plugin(Aws::Plugins::RegionalEndpoint)
49
+ add_plugin(Aws::Plugins::EndpointDiscovery)
48
50
  add_plugin(Aws::Plugins::ResponsePaging)
49
51
  add_plugin(Aws::Plugins::StubResponses)
50
52
  add_plugin(Aws::Plugins::IdempotencyToken)
@@ -98,6 +100,10 @@ module Aws::ConfigService
98
100
  #
99
101
  # @option options [String] :access_key_id
100
102
  #
103
+ # @option options [Boolean] :active_endpoint_cache (false)
104
+ # When set to `true`, a thread polling for endpoints will be running in
105
+ # the background every 60 secs (default). Defaults to `false`.
106
+ #
101
107
  # @option options [Boolean] :client_side_monitoring (false)
102
108
  # When `true`, client-side metrics will be collected for all API requests from
103
109
  # this client.
@@ -123,6 +129,21 @@ module Aws::ConfigService
123
129
  # option. You should only configure an `:endpoint` when connecting
124
130
  # to test endpoints. This should be avalid HTTP(S) URI.
125
131
  #
132
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
133
+ # Used for the maximum size limit of the LRU cache storing endpoints data
134
+ # for endpoint discovery enabled operations. Defaults to 1000.
135
+ #
136
+ # @option options [Integer] :endpoint_cache_max_threads (10)
137
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
138
+ #
139
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
140
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
141
+ # Use this option to config the time interval in seconds for making
142
+ # requests fetching endpoints information. Defaults to 60 sec.
143
+ #
144
+ # @option options [Boolean] :endpoint_discovery (false)
145
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
146
+ #
126
147
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
127
148
  # The log formatter.
128
149
  #
@@ -188,6 +209,78 @@ module Aws::ConfigService
188
209
 
189
210
  # @!group API Operations
190
211
 
212
+ # Returns the current configuration items for resources that are present
213
+ # in your AWS Config aggregator. The operation also returns a list of
214
+ # resources that are not processed in the current request. If there are
215
+ # no unprocessed resources, the operation returns an empty
216
+ # `unprocessedResourceIdentifiers` list.
217
+ #
218
+ # <note markdown="1"> * The API does not return results for deleted resources.
219
+ #
220
+ # * The API does not return tags and relationships.
221
+ #
222
+ # </note>
223
+ #
224
+ # @option params [required, String] :configuration_aggregator_name
225
+ # The name of the configuration aggregator.
226
+ #
227
+ # @option params [required, Array<Types::AggregateResourceIdentifier>] :resource_identifiers
228
+ # A list of aggregate ResourceIdentifiers objects.
229
+ #
230
+ # @return [Types::BatchGetAggregateResourceConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
231
+ #
232
+ # * {Types::BatchGetAggregateResourceConfigResponse#base_configuration_items #base_configuration_items} => Array&lt;Types::BaseConfigurationItem&gt;
233
+ # * {Types::BatchGetAggregateResourceConfigResponse#unprocessed_resource_identifiers #unprocessed_resource_identifiers} => Array&lt;Types::AggregateResourceIdentifier&gt;
234
+ #
235
+ # @example Request syntax with placeholder values
236
+ #
237
+ # resp = client.batch_get_aggregate_resource_config({
238
+ # configuration_aggregator_name: "ConfigurationAggregatorName", # required
239
+ # resource_identifiers: [ # required
240
+ # {
241
+ # source_account_id: "AccountId", # required
242
+ # source_region: "AwsRegion", # required
243
+ # resource_id: "ResourceId", # required
244
+ # resource_type: "AWS::EC2::CustomerGateway", # required, accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription, AWS::CloudWatch::Alarm, AWS::CloudFormation::Stack, AWS::DynamoDB::Table, AWS::AutoScaling::AutoScalingGroup, AWS::AutoScaling::LaunchConfiguration, AWS::AutoScaling::ScalingPolicy, AWS::AutoScaling::ScheduledAction, AWS::CodeBuild::Project, AWS::WAF::RateBasedRule, AWS::WAF::Rule, AWS::WAF::WebACL, AWS::WAFRegional::RateBasedRule, AWS::WAFRegional::Rule, AWS::WAFRegional::WebACL, AWS::CloudFront::Distribution, AWS::CloudFront::StreamingDistribution, AWS::WAF::RuleGroup, AWS::WAFRegional::RuleGroup, AWS::Lambda::Function, AWS::ElasticBeanstalk::Application, AWS::ElasticBeanstalk::ApplicationVersion, AWS::ElasticBeanstalk::Environment, AWS::ElasticLoadBalancing::LoadBalancer, AWS::XRay::EncryptionConfig, AWS::SSM::AssociationCompliance, AWS::SSM::PatchCompliance, AWS::Shield::Protection, AWS::ShieldRegional::Protection, AWS::Config::ResourceCompliance, AWS::CodePipeline::Pipeline
245
+ # resource_name: "ResourceName",
246
+ # },
247
+ # ],
248
+ # })
249
+ #
250
+ # @example Response structure
251
+ #
252
+ # resp.base_configuration_items #=> Array
253
+ # resp.base_configuration_items[0].version #=> String
254
+ # resp.base_configuration_items[0].account_id #=> String
255
+ # resp.base_configuration_items[0].configuration_item_capture_time #=> Time
256
+ # resp.base_configuration_items[0].configuration_item_status #=> String, one of "OK", "ResourceDiscovered", "ResourceNotRecorded", "ResourceDeleted", "ResourceDeletedNotRecorded"
257
+ # resp.base_configuration_items[0].configuration_state_id #=> String
258
+ # resp.base_configuration_items[0].arn #=> String
259
+ # resp.base_configuration_items[0].resource_type #=> String, one of "AWS::EC2::CustomerGateway", "AWS::EC2::EIP", "AWS::EC2::Host", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInterface", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::S3::Bucket", "AWS::SSM::ManagedInstanceInventory", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription", "AWS::CloudWatch::Alarm", "AWS::CloudFormation::Stack", "AWS::DynamoDB::Table", "AWS::AutoScaling::AutoScalingGroup", "AWS::AutoScaling::LaunchConfiguration", "AWS::AutoScaling::ScalingPolicy", "AWS::AutoScaling::ScheduledAction", "AWS::CodeBuild::Project", "AWS::WAF::RateBasedRule", "AWS::WAF::Rule", "AWS::WAF::WebACL", "AWS::WAFRegional::RateBasedRule", "AWS::WAFRegional::Rule", "AWS::WAFRegional::WebACL", "AWS::CloudFront::Distribution", "AWS::CloudFront::StreamingDistribution", "AWS::WAF::RuleGroup", "AWS::WAFRegional::RuleGroup", "AWS::Lambda::Function", "AWS::ElasticBeanstalk::Application", "AWS::ElasticBeanstalk::ApplicationVersion", "AWS::ElasticBeanstalk::Environment", "AWS::ElasticLoadBalancing::LoadBalancer", "AWS::XRay::EncryptionConfig", "AWS::SSM::AssociationCompliance", "AWS::SSM::PatchCompliance", "AWS::Shield::Protection", "AWS::ShieldRegional::Protection", "AWS::Config::ResourceCompliance", "AWS::CodePipeline::Pipeline"
260
+ # resp.base_configuration_items[0].resource_id #=> String
261
+ # resp.base_configuration_items[0].resource_name #=> String
262
+ # resp.base_configuration_items[0].aws_region #=> String
263
+ # resp.base_configuration_items[0].availability_zone #=> String
264
+ # resp.base_configuration_items[0].resource_creation_time #=> Time
265
+ # resp.base_configuration_items[0].configuration #=> String
266
+ # resp.base_configuration_items[0].supplementary_configuration #=> Hash
267
+ # resp.base_configuration_items[0].supplementary_configuration["SupplementaryConfigurationName"] #=> String
268
+ # resp.unprocessed_resource_identifiers #=> Array
269
+ # resp.unprocessed_resource_identifiers[0].source_account_id #=> String
270
+ # resp.unprocessed_resource_identifiers[0].source_region #=> String
271
+ # resp.unprocessed_resource_identifiers[0].resource_id #=> String
272
+ # resp.unprocessed_resource_identifiers[0].resource_type #=> String, one of "AWS::EC2::CustomerGateway", "AWS::EC2::EIP", "AWS::EC2::Host", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInterface", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::S3::Bucket", "AWS::SSM::ManagedInstanceInventory", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription", "AWS::CloudWatch::Alarm", "AWS::CloudFormation::Stack", "AWS::DynamoDB::Table", "AWS::AutoScaling::AutoScalingGroup", "AWS::AutoScaling::LaunchConfiguration", "AWS::AutoScaling::ScalingPolicy", "AWS::AutoScaling::ScheduledAction", "AWS::CodeBuild::Project", "AWS::WAF::RateBasedRule", "AWS::WAF::Rule", "AWS::WAF::WebACL", "AWS::WAFRegional::RateBasedRule", "AWS::WAFRegional::Rule", "AWS::WAFRegional::WebACL", "AWS::CloudFront::Distribution", "AWS::CloudFront::StreamingDistribution", "AWS::WAF::RuleGroup", "AWS::WAFRegional::RuleGroup", "AWS::Lambda::Function", "AWS::ElasticBeanstalk::Application", "AWS::ElasticBeanstalk::ApplicationVersion", "AWS::ElasticBeanstalk::Environment", "AWS::ElasticLoadBalancing::LoadBalancer", "AWS::XRay::EncryptionConfig", "AWS::SSM::AssociationCompliance", "AWS::SSM::PatchCompliance", "AWS::Shield::Protection", "AWS::ShieldRegional::Protection", "AWS::Config::ResourceCompliance", "AWS::CodePipeline::Pipeline"
273
+ # resp.unprocessed_resource_identifiers[0].resource_name #=> String
274
+ #
275
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetAggregateResourceConfig AWS API Documentation
276
+ #
277
+ # @overload batch_get_aggregate_resource_config(params = {})
278
+ # @param [Hash] params ({})
279
+ def batch_get_aggregate_resource_config(params = {}, options = {})
280
+ req = build_request(:batch_get_aggregate_resource_config, params)
281
+ req.send_request(options)
282
+ end
283
+
191
284
  # Returns the current configuration for one or more requested resources.
192
285
  # The operation also returns a list of resources that are not processed
193
286
  # in the current request. If there are no unprocessed resources, the
@@ -1420,6 +1513,136 @@ module Aws::ConfigService
1420
1513
  req.send_request(options)
1421
1514
  end
1422
1515
 
1516
+ # Returns the resource counts across accounts and regions that are
1517
+ # present in your AWS Config aggregator. You can request the resource
1518
+ # counts by providing filters and GroupByKey.
1519
+ #
1520
+ # For example, if the input contains accountID 12345678910 and region
1521
+ # us-east-1 in filters, the API returns the count of resources in
1522
+ # account ID 12345678910 and region us-east-1. If the input contains
1523
+ # ACCOUNT\_ID as a GroupByKey, the API returns resource counts for all
1524
+ # source accounts that are present in your aggregator.
1525
+ #
1526
+ # @option params [required, String] :configuration_aggregator_name
1527
+ # The name of the configuration aggregator.
1528
+ #
1529
+ # @option params [Types::ResourceCountFilters] :filters
1530
+ # Filters the results based on the `ResourceCountFilters` object.
1531
+ #
1532
+ # @option params [String] :group_by_key
1533
+ # The key to group the resource counts.
1534
+ #
1535
+ # @option params [Integer] :limit
1536
+ # The maximum number of GroupedResourceCount objects returned on each
1537
+ # page. The default is 1000. You cannot specify a number greater than
1538
+ # 1000. If you specify 0, AWS Config uses the default.
1539
+ #
1540
+ # @option params [String] :next_token
1541
+ # The `nextToken` string returned on a previous page that you use to get
1542
+ # the next page of results in a paginated response.
1543
+ #
1544
+ # @return [Types::GetAggregateDiscoveredResourceCountsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1545
+ #
1546
+ # * {Types::GetAggregateDiscoveredResourceCountsResponse#total_discovered_resources #total_discovered_resources} => Integer
1547
+ # * {Types::GetAggregateDiscoveredResourceCountsResponse#group_by_key #group_by_key} => String
1548
+ # * {Types::GetAggregateDiscoveredResourceCountsResponse#grouped_resource_counts #grouped_resource_counts} => Array&lt;Types::GroupedResourceCount&gt;
1549
+ # * {Types::GetAggregateDiscoveredResourceCountsResponse#next_token #next_token} => String
1550
+ #
1551
+ # @example Request syntax with placeholder values
1552
+ #
1553
+ # resp = client.get_aggregate_discovered_resource_counts({
1554
+ # configuration_aggregator_name: "ConfigurationAggregatorName", # required
1555
+ # filters: {
1556
+ # resource_type: "AWS::EC2::CustomerGateway", # accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription, AWS::CloudWatch::Alarm, AWS::CloudFormation::Stack, AWS::DynamoDB::Table, AWS::AutoScaling::AutoScalingGroup, AWS::AutoScaling::LaunchConfiguration, AWS::AutoScaling::ScalingPolicy, AWS::AutoScaling::ScheduledAction, AWS::CodeBuild::Project, AWS::WAF::RateBasedRule, AWS::WAF::Rule, AWS::WAF::WebACL, AWS::WAFRegional::RateBasedRule, AWS::WAFRegional::Rule, AWS::WAFRegional::WebACL, AWS::CloudFront::Distribution, AWS::CloudFront::StreamingDistribution, AWS::WAF::RuleGroup, AWS::WAFRegional::RuleGroup, AWS::Lambda::Function, AWS::ElasticBeanstalk::Application, AWS::ElasticBeanstalk::ApplicationVersion, AWS::ElasticBeanstalk::Environment, AWS::ElasticLoadBalancing::LoadBalancer, AWS::XRay::EncryptionConfig, AWS::SSM::AssociationCompliance, AWS::SSM::PatchCompliance, AWS::Shield::Protection, AWS::ShieldRegional::Protection, AWS::Config::ResourceCompliance, AWS::CodePipeline::Pipeline
1557
+ # account_id: "AccountId",
1558
+ # region: "AwsRegion",
1559
+ # },
1560
+ # group_by_key: "RESOURCE_TYPE", # accepts RESOURCE_TYPE, ACCOUNT_ID, AWS_REGION
1561
+ # limit: 1,
1562
+ # next_token: "NextToken",
1563
+ # })
1564
+ #
1565
+ # @example Response structure
1566
+ #
1567
+ # resp.total_discovered_resources #=> Integer
1568
+ # resp.group_by_key #=> String
1569
+ # resp.grouped_resource_counts #=> Array
1570
+ # resp.grouped_resource_counts[0].group_name #=> String
1571
+ # resp.grouped_resource_counts[0].resource_count #=> Integer
1572
+ # resp.next_token #=> String
1573
+ #
1574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateDiscoveredResourceCounts AWS API Documentation
1575
+ #
1576
+ # @overload get_aggregate_discovered_resource_counts(params = {})
1577
+ # @param [Hash] params ({})
1578
+ def get_aggregate_discovered_resource_counts(params = {}, options = {})
1579
+ req = build_request(:get_aggregate_discovered_resource_counts, params)
1580
+ req.send_request(options)
1581
+ end
1582
+
1583
+ # Returns configuration item that is aggregated for your specific
1584
+ # resource in a specific source account and region.
1585
+ #
1586
+ # @option params [required, String] :configuration_aggregator_name
1587
+ # The name of the configuration aggregator.
1588
+ #
1589
+ # @option params [required, Types::AggregateResourceIdentifier] :resource_identifier
1590
+ # An object that identifies aggregate resource.
1591
+ #
1592
+ # @return [Types::GetAggregateResourceConfigResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1593
+ #
1594
+ # * {Types::GetAggregateResourceConfigResponse#configuration_item #configuration_item} => Types::ConfigurationItem
1595
+ #
1596
+ # @example Request syntax with placeholder values
1597
+ #
1598
+ # resp = client.get_aggregate_resource_config({
1599
+ # configuration_aggregator_name: "ConfigurationAggregatorName", # required
1600
+ # resource_identifier: { # required
1601
+ # source_account_id: "AccountId", # required
1602
+ # source_region: "AwsRegion", # required
1603
+ # resource_id: "ResourceId", # required
1604
+ # resource_type: "AWS::EC2::CustomerGateway", # required, accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription, AWS::CloudWatch::Alarm, AWS::CloudFormation::Stack, AWS::DynamoDB::Table, AWS::AutoScaling::AutoScalingGroup, AWS::AutoScaling::LaunchConfiguration, AWS::AutoScaling::ScalingPolicy, AWS::AutoScaling::ScheduledAction, AWS::CodeBuild::Project, AWS::WAF::RateBasedRule, AWS::WAF::Rule, AWS::WAF::WebACL, AWS::WAFRegional::RateBasedRule, AWS::WAFRegional::Rule, AWS::WAFRegional::WebACL, AWS::CloudFront::Distribution, AWS::CloudFront::StreamingDistribution, AWS::WAF::RuleGroup, AWS::WAFRegional::RuleGroup, AWS::Lambda::Function, AWS::ElasticBeanstalk::Application, AWS::ElasticBeanstalk::ApplicationVersion, AWS::ElasticBeanstalk::Environment, AWS::ElasticLoadBalancing::LoadBalancer, AWS::XRay::EncryptionConfig, AWS::SSM::AssociationCompliance, AWS::SSM::PatchCompliance, AWS::Shield::Protection, AWS::ShieldRegional::Protection, AWS::Config::ResourceCompliance, AWS::CodePipeline::Pipeline
1605
+ # resource_name: "ResourceName",
1606
+ # },
1607
+ # })
1608
+ #
1609
+ # @example Response structure
1610
+ #
1611
+ # resp.configuration_item.version #=> String
1612
+ # resp.configuration_item.account_id #=> String
1613
+ # resp.configuration_item.configuration_item_capture_time #=> Time
1614
+ # resp.configuration_item.configuration_item_status #=> String, one of "OK", "ResourceDiscovered", "ResourceNotRecorded", "ResourceDeleted", "ResourceDeletedNotRecorded"
1615
+ # resp.configuration_item.configuration_state_id #=> String
1616
+ # resp.configuration_item.configuration_item_md5_hash #=> String
1617
+ # resp.configuration_item.arn #=> String
1618
+ # resp.configuration_item.resource_type #=> String, one of "AWS::EC2::CustomerGateway", "AWS::EC2::EIP", "AWS::EC2::Host", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInterface", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::S3::Bucket", "AWS::SSM::ManagedInstanceInventory", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription", "AWS::CloudWatch::Alarm", "AWS::CloudFormation::Stack", "AWS::DynamoDB::Table", "AWS::AutoScaling::AutoScalingGroup", "AWS::AutoScaling::LaunchConfiguration", "AWS::AutoScaling::ScalingPolicy", "AWS::AutoScaling::ScheduledAction", "AWS::CodeBuild::Project", "AWS::WAF::RateBasedRule", "AWS::WAF::Rule", "AWS::WAF::WebACL", "AWS::WAFRegional::RateBasedRule", "AWS::WAFRegional::Rule", "AWS::WAFRegional::WebACL", "AWS::CloudFront::Distribution", "AWS::CloudFront::StreamingDistribution", "AWS::WAF::RuleGroup", "AWS::WAFRegional::RuleGroup", "AWS::Lambda::Function", "AWS::ElasticBeanstalk::Application", "AWS::ElasticBeanstalk::ApplicationVersion", "AWS::ElasticBeanstalk::Environment", "AWS::ElasticLoadBalancing::LoadBalancer", "AWS::XRay::EncryptionConfig", "AWS::SSM::AssociationCompliance", "AWS::SSM::PatchCompliance", "AWS::Shield::Protection", "AWS::ShieldRegional::Protection", "AWS::Config::ResourceCompliance", "AWS::CodePipeline::Pipeline"
1619
+ # resp.configuration_item.resource_id #=> String
1620
+ # resp.configuration_item.resource_name #=> String
1621
+ # resp.configuration_item.aws_region #=> String
1622
+ # resp.configuration_item.availability_zone #=> String
1623
+ # resp.configuration_item.resource_creation_time #=> Time
1624
+ # resp.configuration_item.tags #=> Hash
1625
+ # resp.configuration_item.tags["Name"] #=> String
1626
+ # resp.configuration_item.related_events #=> Array
1627
+ # resp.configuration_item.related_events[0] #=> String
1628
+ # resp.configuration_item.relationships #=> Array
1629
+ # resp.configuration_item.relationships[0].resource_type #=> String, one of "AWS::EC2::CustomerGateway", "AWS::EC2::EIP", "AWS::EC2::Host", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInterface", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::S3::Bucket", "AWS::SSM::ManagedInstanceInventory", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription", "AWS::CloudWatch::Alarm", "AWS::CloudFormation::Stack", "AWS::DynamoDB::Table", "AWS::AutoScaling::AutoScalingGroup", "AWS::AutoScaling::LaunchConfiguration", "AWS::AutoScaling::ScalingPolicy", "AWS::AutoScaling::ScheduledAction", "AWS::CodeBuild::Project", "AWS::WAF::RateBasedRule", "AWS::WAF::Rule", "AWS::WAF::WebACL", "AWS::WAFRegional::RateBasedRule", "AWS::WAFRegional::Rule", "AWS::WAFRegional::WebACL", "AWS::CloudFront::Distribution", "AWS::CloudFront::StreamingDistribution", "AWS::WAF::RuleGroup", "AWS::WAFRegional::RuleGroup", "AWS::Lambda::Function", "AWS::ElasticBeanstalk::Application", "AWS::ElasticBeanstalk::ApplicationVersion", "AWS::ElasticBeanstalk::Environment", "AWS::ElasticLoadBalancing::LoadBalancer", "AWS::XRay::EncryptionConfig", "AWS::SSM::AssociationCompliance", "AWS::SSM::PatchCompliance", "AWS::Shield::Protection", "AWS::ShieldRegional::Protection", "AWS::Config::ResourceCompliance", "AWS::CodePipeline::Pipeline"
1630
+ # resp.configuration_item.relationships[0].resource_id #=> String
1631
+ # resp.configuration_item.relationships[0].resource_name #=> String
1632
+ # resp.configuration_item.relationships[0].relationship_name #=> String
1633
+ # resp.configuration_item.configuration #=> String
1634
+ # resp.configuration_item.supplementary_configuration #=> Hash
1635
+ # resp.configuration_item.supplementary_configuration["SupplementaryConfigurationName"] #=> String
1636
+ #
1637
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateResourceConfig AWS API Documentation
1638
+ #
1639
+ # @overload get_aggregate_resource_config(params = {})
1640
+ # @param [Hash] params ({})
1641
+ def get_aggregate_resource_config(params = {}, options = {})
1642
+ req = build_request(:get_aggregate_resource_config, params)
1643
+ req.send_request(options)
1644
+ end
1645
+
1423
1646
  # Returns the evaluation results for the specified AWS Config rule. The
1424
1647
  # results indicate which AWS resources were evaluated by the rule, when
1425
1648
  # each resource was last evaluated, and whether each resource complies
@@ -1808,6 +2031,77 @@ module Aws::ConfigService
1808
2031
  req.send_request(options)
1809
2032
  end
1810
2033
 
2034
+ # Accepts a resource type and returns a list of resource identifiers
2035
+ # that are aggregated for a specific resource type across accounts and
2036
+ # regions. A resource identifier includes the resource type, ID, (if
2037
+ # available) the custom resource name, source account, and source
2038
+ # region. You can narrow the results to include only resources that have
2039
+ # specific resource IDs, or a resource name, or source account ID, or
2040
+ # source region.
2041
+ #
2042
+ # For example, if the input consists of accountID 12345678910 and the
2043
+ # region is us-east-1 for resource type `AWS::EC2::Instance` then the
2044
+ # API returns all the EC2 instance identifiers of accountID 12345678910
2045
+ # and region us-east-1.
2046
+ #
2047
+ # @option params [required, String] :configuration_aggregator_name
2048
+ # The name of the configuration aggregator.
2049
+ #
2050
+ # @option params [required, String] :resource_type
2051
+ # The type of resources that you want AWS Config to list in the
2052
+ # response.
2053
+ #
2054
+ # @option params [Types::ResourceFilters] :filters
2055
+ # Filters the results based on the `ResourceFilters` object.
2056
+ #
2057
+ # @option params [Integer] :limit
2058
+ # The maximum number of resource identifiers returned on each page. The
2059
+ # default is 100. You cannot specify a number greater than 100. If you
2060
+ # specify 0, AWS Config uses the default.
2061
+ #
2062
+ # @option params [String] :next_token
2063
+ # The `nextToken` string returned on a previous page that you use to get
2064
+ # the next page of results in a paginated response.
2065
+ #
2066
+ # @return [Types::ListAggregateDiscoveredResourcesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2067
+ #
2068
+ # * {Types::ListAggregateDiscoveredResourcesResponse#resource_identifiers #resource_identifiers} => Array&lt;Types::AggregateResourceIdentifier&gt;
2069
+ # * {Types::ListAggregateDiscoveredResourcesResponse#next_token #next_token} => String
2070
+ #
2071
+ # @example Request syntax with placeholder values
2072
+ #
2073
+ # resp = client.list_aggregate_discovered_resources({
2074
+ # configuration_aggregator_name: "ConfigurationAggregatorName", # required
2075
+ # resource_type: "AWS::EC2::CustomerGateway", # required, accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription, AWS::CloudWatch::Alarm, AWS::CloudFormation::Stack, AWS::DynamoDB::Table, AWS::AutoScaling::AutoScalingGroup, AWS::AutoScaling::LaunchConfiguration, AWS::AutoScaling::ScalingPolicy, AWS::AutoScaling::ScheduledAction, AWS::CodeBuild::Project, AWS::WAF::RateBasedRule, AWS::WAF::Rule, AWS::WAF::WebACL, AWS::WAFRegional::RateBasedRule, AWS::WAFRegional::Rule, AWS::WAFRegional::WebACL, AWS::CloudFront::Distribution, AWS::CloudFront::StreamingDistribution, AWS::WAF::RuleGroup, AWS::WAFRegional::RuleGroup, AWS::Lambda::Function, AWS::ElasticBeanstalk::Application, AWS::ElasticBeanstalk::ApplicationVersion, AWS::ElasticBeanstalk::Environment, AWS::ElasticLoadBalancing::LoadBalancer, AWS::XRay::EncryptionConfig, AWS::SSM::AssociationCompliance, AWS::SSM::PatchCompliance, AWS::Shield::Protection, AWS::ShieldRegional::Protection, AWS::Config::ResourceCompliance, AWS::CodePipeline::Pipeline
2076
+ # filters: {
2077
+ # account_id: "AccountId",
2078
+ # resource_id: "ResourceId",
2079
+ # resource_name: "ResourceName",
2080
+ # region: "AwsRegion",
2081
+ # },
2082
+ # limit: 1,
2083
+ # next_token: "NextToken",
2084
+ # })
2085
+ #
2086
+ # @example Response structure
2087
+ #
2088
+ # resp.resource_identifiers #=> Array
2089
+ # resp.resource_identifiers[0].source_account_id #=> String
2090
+ # resp.resource_identifiers[0].source_region #=> String
2091
+ # resp.resource_identifiers[0].resource_id #=> String
2092
+ # resp.resource_identifiers[0].resource_type #=> String, one of "AWS::EC2::CustomerGateway", "AWS::EC2::EIP", "AWS::EC2::Host", "AWS::EC2::Instance", "AWS::EC2::InternetGateway", "AWS::EC2::NetworkAcl", "AWS::EC2::NetworkInterface", "AWS::EC2::RouteTable", "AWS::EC2::SecurityGroup", "AWS::EC2::Subnet", "AWS::CloudTrail::Trail", "AWS::EC2::Volume", "AWS::EC2::VPC", "AWS::EC2::VPNConnection", "AWS::EC2::VPNGateway", "AWS::IAM::Group", "AWS::IAM::Policy", "AWS::IAM::Role", "AWS::IAM::User", "AWS::ACM::Certificate", "AWS::RDS::DBInstance", "AWS::RDS::DBSubnetGroup", "AWS::RDS::DBSecurityGroup", "AWS::RDS::DBSnapshot", "AWS::RDS::EventSubscription", "AWS::ElasticLoadBalancingV2::LoadBalancer", "AWS::S3::Bucket", "AWS::SSM::ManagedInstanceInventory", "AWS::Redshift::Cluster", "AWS::Redshift::ClusterSnapshot", "AWS::Redshift::ClusterParameterGroup", "AWS::Redshift::ClusterSecurityGroup", "AWS::Redshift::ClusterSubnetGroup", "AWS::Redshift::EventSubscription", "AWS::CloudWatch::Alarm", "AWS::CloudFormation::Stack", "AWS::DynamoDB::Table", "AWS::AutoScaling::AutoScalingGroup", "AWS::AutoScaling::LaunchConfiguration", "AWS::AutoScaling::ScalingPolicy", "AWS::AutoScaling::ScheduledAction", "AWS::CodeBuild::Project", "AWS::WAF::RateBasedRule", "AWS::WAF::Rule", "AWS::WAF::WebACL", "AWS::WAFRegional::RateBasedRule", "AWS::WAFRegional::Rule", "AWS::WAFRegional::WebACL", "AWS::CloudFront::Distribution", "AWS::CloudFront::StreamingDistribution", "AWS::WAF::RuleGroup", "AWS::WAFRegional::RuleGroup", "AWS::Lambda::Function", "AWS::ElasticBeanstalk::Application", "AWS::ElasticBeanstalk::ApplicationVersion", "AWS::ElasticBeanstalk::Environment", "AWS::ElasticLoadBalancing::LoadBalancer", "AWS::XRay::EncryptionConfig", "AWS::SSM::AssociationCompliance", "AWS::SSM::PatchCompliance", "AWS::Shield::Protection", "AWS::ShieldRegional::Protection", "AWS::Config::ResourceCompliance", "AWS::CodePipeline::Pipeline"
2093
+ # resp.resource_identifiers[0].resource_name #=> String
2094
+ # resp.next_token #=> String
2095
+ #
2096
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListAggregateDiscoveredResources AWS API Documentation
2097
+ #
2098
+ # @overload list_aggregate_discovered_resources(params = {})
2099
+ # @param [Hash] params ({})
2100
+ def list_aggregate_discovered_resources(params = {}, options = {})
2101
+ req = build_request(:list_aggregate_discovered_resources, params)
2102
+ req.send_request(options)
2103
+ end
2104
+
1811
2105
  # Accepts a resource type and returns a list of resource identifiers for
1812
2106
  # the resources of that type. A resource identifier includes the
1813
2107
  # resource type, ID, and (if available) the custom resource name. The
@@ -2405,7 +2699,7 @@ module Aws::ConfigService
2405
2699
  params: params,
2406
2700
  config: config)
2407
2701
  context[:gem_name] = 'aws-sdk-configservice'
2408
- context[:gem_version] = '1.19.0'
2702
+ context[:gem_version] = '1.20.0'
2409
2703
  Seahorse::Client::Request.new(handlers, context)
2410
2704
  end
2411
2705
 
@@ -22,6 +22,7 @@ module Aws::ConfigService
22
22
  AggregateComplianceCountList = Shapes::ListShape.new(name: 'AggregateComplianceCountList')
23
23
  AggregateEvaluationResult = Shapes::StructureShape.new(name: 'AggregateEvaluationResult')
24
24
  AggregateEvaluationResultList = Shapes::ListShape.new(name: 'AggregateEvaluationResultList')
25
+ AggregateResourceIdentifier = Shapes::StructureShape.new(name: 'AggregateResourceIdentifier')
25
26
  AggregatedSourceStatus = Shapes::StructureShape.new(name: 'AggregatedSourceStatus')
26
27
  AggregatedSourceStatusList = Shapes::ListShape.new(name: 'AggregatedSourceStatusList')
27
28
  AggregatedSourceStatusType = Shapes::StringShape.new(name: 'AggregatedSourceStatusType')
@@ -36,6 +37,8 @@ module Aws::ConfigService
36
37
  BaseConfigurationItem = Shapes::StructureShape.new(name: 'BaseConfigurationItem')
37
38
  BaseConfigurationItems = Shapes::ListShape.new(name: 'BaseConfigurationItems')
38
39
  BaseResourceId = Shapes::StringShape.new(name: 'BaseResourceId')
40
+ BatchGetAggregateResourceConfigRequest = Shapes::StructureShape.new(name: 'BatchGetAggregateResourceConfigRequest')
41
+ BatchGetAggregateResourceConfigResponse = Shapes::StructureShape.new(name: 'BatchGetAggregateResourceConfigResponse')
39
42
  BatchGetResourceConfigRequest = Shapes::StructureShape.new(name: 'BatchGetResourceConfigRequest')
40
43
  BatchGetResourceConfigResponse = Shapes::StructureShape.new(name: 'BatchGetResourceConfigResponse')
41
44
  Boolean = Shapes::BooleanShape.new(name: 'Boolean')
@@ -130,6 +133,7 @@ module Aws::ConfigService
130
133
  DescribePendingAggregationRequestsResponse = Shapes::StructureShape.new(name: 'DescribePendingAggregationRequestsResponse')
131
134
  DescribeRetentionConfigurationsRequest = Shapes::StructureShape.new(name: 'DescribeRetentionConfigurationsRequest')
132
135
  DescribeRetentionConfigurationsResponse = Shapes::StructureShape.new(name: 'DescribeRetentionConfigurationsResponse')
136
+ DiscoveredResourceIdentifierList = Shapes::ListShape.new(name: 'DiscoveredResourceIdentifierList')
133
137
  EarlierTime = Shapes::TimestampShape.new(name: 'EarlierTime')
134
138
  EmptiableStringWithCharLimit256 = Shapes::StringShape.new(name: 'EmptiableStringWithCharLimit256')
135
139
  Evaluation = Shapes::StructureShape.new(name: 'Evaluation')
@@ -143,6 +147,10 @@ module Aws::ConfigService
143
147
  GetAggregateComplianceDetailsByConfigRuleResponse = Shapes::StructureShape.new(name: 'GetAggregateComplianceDetailsByConfigRuleResponse')
144
148
  GetAggregateConfigRuleComplianceSummaryRequest = Shapes::StructureShape.new(name: 'GetAggregateConfigRuleComplianceSummaryRequest')
145
149
  GetAggregateConfigRuleComplianceSummaryResponse = Shapes::StructureShape.new(name: 'GetAggregateConfigRuleComplianceSummaryResponse')
150
+ GetAggregateDiscoveredResourceCountsRequest = Shapes::StructureShape.new(name: 'GetAggregateDiscoveredResourceCountsRequest')
151
+ GetAggregateDiscoveredResourceCountsResponse = Shapes::StructureShape.new(name: 'GetAggregateDiscoveredResourceCountsResponse')
152
+ GetAggregateResourceConfigRequest = Shapes::StructureShape.new(name: 'GetAggregateResourceConfigRequest')
153
+ GetAggregateResourceConfigResponse = Shapes::StructureShape.new(name: 'GetAggregateResourceConfigResponse')
146
154
  GetComplianceDetailsByConfigRuleRequest = Shapes::StructureShape.new(name: 'GetComplianceDetailsByConfigRuleRequest')
147
155
  GetComplianceDetailsByConfigRuleResponse = Shapes::StructureShape.new(name: 'GetComplianceDetailsByConfigRuleResponse')
148
156
  GetComplianceDetailsByResourceRequest = Shapes::StructureShape.new(name: 'GetComplianceDetailsByResourceRequest')
@@ -155,6 +163,8 @@ module Aws::ConfigService
155
163
  GetResourceConfigHistoryRequest = Shapes::StructureShape.new(name: 'GetResourceConfigHistoryRequest')
156
164
  GetResourceConfigHistoryResponse = Shapes::StructureShape.new(name: 'GetResourceConfigHistoryResponse')
157
165
  GroupByAPILimit = Shapes::IntegerShape.new(name: 'GroupByAPILimit')
166
+ GroupedResourceCount = Shapes::StructureShape.new(name: 'GroupedResourceCount')
167
+ GroupedResourceCountList = Shapes::ListShape.new(name: 'GroupedResourceCountList')
158
168
  IncludeGlobalResourceTypes = Shapes::BooleanShape.new(name: 'IncludeGlobalResourceTypes')
159
169
  InsufficientDeliveryPolicyException = Shapes::StructureShape.new(name: 'InsufficientDeliveryPolicyException')
160
170
  InsufficientPermissionsException = Shapes::StructureShape.new(name: 'InsufficientPermissionsException')
@@ -174,6 +184,8 @@ module Aws::ConfigService
174
184
  LaterTime = Shapes::TimestampShape.new(name: 'LaterTime')
175
185
  Limit = Shapes::IntegerShape.new(name: 'Limit')
176
186
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
187
+ ListAggregateDiscoveredResourcesRequest = Shapes::StructureShape.new(name: 'ListAggregateDiscoveredResourcesRequest')
188
+ ListAggregateDiscoveredResourcesResponse = Shapes::StructureShape.new(name: 'ListAggregateDiscoveredResourcesResponse')
177
189
  ListDiscoveredResourcesRequest = Shapes::StructureShape.new(name: 'ListDiscoveredResourcesRequest')
178
190
  ListDiscoveredResourcesResponse = Shapes::StructureShape.new(name: 'ListDiscoveredResourcesResponse')
179
191
  Long = Shapes::IntegerShape.new(name: 'Long')
@@ -199,6 +211,7 @@ module Aws::ConfigService
199
211
  OrganizationAccessDeniedException = Shapes::StructureShape.new(name: 'OrganizationAccessDeniedException')
200
212
  OrganizationAggregationSource = Shapes::StructureShape.new(name: 'OrganizationAggregationSource')
201
213
  OrganizationAllFeaturesNotEnabledException = Shapes::StructureShape.new(name: 'OrganizationAllFeaturesNotEnabledException')
214
+ OversizedConfigurationItemException = Shapes::StructureShape.new(name: 'OversizedConfigurationItemException')
202
215
  Owner = Shapes::StringShape.new(name: 'Owner')
203
216
  PendingAggregationRequest = Shapes::StructureShape.new(name: 'PendingAggregationRequest')
204
217
  PendingAggregationRequestList = Shapes::ListShape.new(name: 'PendingAggregationRequestList')
@@ -223,13 +236,17 @@ module Aws::ConfigService
223
236
  RelationshipList = Shapes::ListShape.new(name: 'RelationshipList')
224
237
  RelationshipName = Shapes::StringShape.new(name: 'RelationshipName')
225
238
  ResourceCount = Shapes::StructureShape.new(name: 'ResourceCount')
239
+ ResourceCountFilters = Shapes::StructureShape.new(name: 'ResourceCountFilters')
240
+ ResourceCountGroupKey = Shapes::StringShape.new(name: 'ResourceCountGroupKey')
226
241
  ResourceCounts = Shapes::ListShape.new(name: 'ResourceCounts')
227
242
  ResourceCreationTime = Shapes::TimestampShape.new(name: 'ResourceCreationTime')
228
243
  ResourceDeletionTime = Shapes::TimestampShape.new(name: 'ResourceDeletionTime')
244
+ ResourceFilters = Shapes::StructureShape.new(name: 'ResourceFilters')
229
245
  ResourceId = Shapes::StringShape.new(name: 'ResourceId')
230
246
  ResourceIdList = Shapes::ListShape.new(name: 'ResourceIdList')
231
247
  ResourceIdentifier = Shapes::StructureShape.new(name: 'ResourceIdentifier')
232
248
  ResourceIdentifierList = Shapes::ListShape.new(name: 'ResourceIdentifierList')
249
+ ResourceIdentifiersList = Shapes::ListShape.new(name: 'ResourceIdentifiersList')
233
250
  ResourceInUseException = Shapes::StructureShape.new(name: 'ResourceInUseException')
234
251
  ResourceKey = Shapes::StructureShape.new(name: 'ResourceKey')
235
252
  ResourceKeys = Shapes::ListShape.new(name: 'ResourceKeys')
@@ -261,6 +278,7 @@ module Aws::ConfigService
261
278
  SupplementaryConfigurationName = Shapes::StringShape.new(name: 'SupplementaryConfigurationName')
262
279
  SupplementaryConfigurationValue = Shapes::StringShape.new(name: 'SupplementaryConfigurationValue')
263
280
  Tags = Shapes::MapShape.new(name: 'Tags')
281
+ UnprocessedResourceIdentifierList = Shapes::ListShape.new(name: 'UnprocessedResourceIdentifierList')
264
282
  ValidationException = Shapes::StructureShape.new(name: 'ValidationException')
265
283
  Value = Shapes::StringShape.new(name: 'Value')
266
284
  Version = Shapes::StringShape.new(name: 'Version')
@@ -299,6 +317,13 @@ module Aws::ConfigService
299
317
 
300
318
  AggregateEvaluationResultList.member = Shapes::ShapeRef.new(shape: AggregateEvaluationResult)
301
319
 
320
+ AggregateResourceIdentifier.add_member(:source_account_id, Shapes::ShapeRef.new(shape: AccountId, required: true, location_name: "SourceAccountId"))
321
+ AggregateResourceIdentifier.add_member(:source_region, Shapes::ShapeRef.new(shape: AwsRegion, required: true, location_name: "SourceRegion"))
322
+ AggregateResourceIdentifier.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "ResourceId"))
323
+ AggregateResourceIdentifier.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "ResourceType"))
324
+ AggregateResourceIdentifier.add_member(:resource_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "ResourceName"))
325
+ AggregateResourceIdentifier.struct_class = Types::AggregateResourceIdentifier
326
+
302
327
  AggregatedSourceStatus.add_member(:source_id, Shapes::ShapeRef.new(shape: String, location_name: "SourceId"))
303
328
  AggregatedSourceStatus.add_member(:source_type, Shapes::ShapeRef.new(shape: AggregatedSourceType, location_name: "SourceType"))
304
329
  AggregatedSourceStatus.add_member(:aws_region, Shapes::ShapeRef.new(shape: AwsRegion, location_name: "AwsRegion"))
@@ -340,6 +365,14 @@ module Aws::ConfigService
340
365
 
341
366
  BaseConfigurationItems.member = Shapes::ShapeRef.new(shape: BaseConfigurationItem)
342
367
 
368
+ BatchGetAggregateResourceConfigRequest.add_member(:configuration_aggregator_name, Shapes::ShapeRef.new(shape: ConfigurationAggregatorName, required: true, location_name: "ConfigurationAggregatorName"))
369
+ BatchGetAggregateResourceConfigRequest.add_member(:resource_identifiers, Shapes::ShapeRef.new(shape: ResourceIdentifiersList, required: true, location_name: "ResourceIdentifiers"))
370
+ BatchGetAggregateResourceConfigRequest.struct_class = Types::BatchGetAggregateResourceConfigRequest
371
+
372
+ BatchGetAggregateResourceConfigResponse.add_member(:base_configuration_items, Shapes::ShapeRef.new(shape: BaseConfigurationItems, location_name: "BaseConfigurationItems"))
373
+ BatchGetAggregateResourceConfigResponse.add_member(:unprocessed_resource_identifiers, Shapes::ShapeRef.new(shape: UnprocessedResourceIdentifierList, location_name: "UnprocessedResourceIdentifiers"))
374
+ BatchGetAggregateResourceConfigResponse.struct_class = Types::BatchGetAggregateResourceConfigResponse
375
+
343
376
  BatchGetResourceConfigRequest.add_member(:resource_keys, Shapes::ShapeRef.new(shape: ResourceKeys, required: true, location_name: "resourceKeys"))
344
377
  BatchGetResourceConfigRequest.struct_class = Types::BatchGetResourceConfigRequest
345
378
 
@@ -663,6 +696,8 @@ module Aws::ConfigService
663
696
  DescribeRetentionConfigurationsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
664
697
  DescribeRetentionConfigurationsResponse.struct_class = Types::DescribeRetentionConfigurationsResponse
665
698
 
699
+ DiscoveredResourceIdentifierList.member = Shapes::ShapeRef.new(shape: AggregateResourceIdentifier)
700
+
666
701
  Evaluation.add_member(:compliance_resource_type, Shapes::ShapeRef.new(shape: StringWithCharLimit256, required: true, location_name: "ComplianceResourceType"))
667
702
  Evaluation.add_member(:compliance_resource_id, Shapes::ShapeRef.new(shape: BaseResourceId, required: true, location_name: "ComplianceResourceId"))
668
703
  Evaluation.add_member(:compliance_type, Shapes::ShapeRef.new(shape: ComplianceType, required: true, location_name: "ComplianceType"))
@@ -716,6 +751,26 @@ module Aws::ConfigService
716
751
  GetAggregateConfigRuleComplianceSummaryResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
717
752
  GetAggregateConfigRuleComplianceSummaryResponse.struct_class = Types::GetAggregateConfigRuleComplianceSummaryResponse
718
753
 
754
+ GetAggregateDiscoveredResourceCountsRequest.add_member(:configuration_aggregator_name, Shapes::ShapeRef.new(shape: ConfigurationAggregatorName, required: true, location_name: "ConfigurationAggregatorName"))
755
+ GetAggregateDiscoveredResourceCountsRequest.add_member(:filters, Shapes::ShapeRef.new(shape: ResourceCountFilters, location_name: "Filters"))
756
+ GetAggregateDiscoveredResourceCountsRequest.add_member(:group_by_key, Shapes::ShapeRef.new(shape: ResourceCountGroupKey, location_name: "GroupByKey"))
757
+ GetAggregateDiscoveredResourceCountsRequest.add_member(:limit, Shapes::ShapeRef.new(shape: GroupByAPILimit, location_name: "Limit"))
758
+ GetAggregateDiscoveredResourceCountsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
759
+ GetAggregateDiscoveredResourceCountsRequest.struct_class = Types::GetAggregateDiscoveredResourceCountsRequest
760
+
761
+ GetAggregateDiscoveredResourceCountsResponse.add_member(:total_discovered_resources, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "TotalDiscoveredResources"))
762
+ GetAggregateDiscoveredResourceCountsResponse.add_member(:group_by_key, Shapes::ShapeRef.new(shape: StringWithCharLimit256, location_name: "GroupByKey"))
763
+ GetAggregateDiscoveredResourceCountsResponse.add_member(:grouped_resource_counts, Shapes::ShapeRef.new(shape: GroupedResourceCountList, location_name: "GroupedResourceCounts"))
764
+ GetAggregateDiscoveredResourceCountsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
765
+ GetAggregateDiscoveredResourceCountsResponse.struct_class = Types::GetAggregateDiscoveredResourceCountsResponse
766
+
767
+ GetAggregateResourceConfigRequest.add_member(:configuration_aggregator_name, Shapes::ShapeRef.new(shape: ConfigurationAggregatorName, required: true, location_name: "ConfigurationAggregatorName"))
768
+ GetAggregateResourceConfigRequest.add_member(:resource_identifier, Shapes::ShapeRef.new(shape: AggregateResourceIdentifier, required: true, location_name: "ResourceIdentifier"))
769
+ GetAggregateResourceConfigRequest.struct_class = Types::GetAggregateResourceConfigRequest
770
+
771
+ GetAggregateResourceConfigResponse.add_member(:configuration_item, Shapes::ShapeRef.new(shape: ConfigurationItem, location_name: "ConfigurationItem"))
772
+ GetAggregateResourceConfigResponse.struct_class = Types::GetAggregateResourceConfigResponse
773
+
719
774
  GetComplianceDetailsByConfigRuleRequest.add_member(:config_rule_name, Shapes::ShapeRef.new(shape: StringWithCharLimit64, required: true, location_name: "ConfigRuleName"))
720
775
  GetComplianceDetailsByConfigRuleRequest.add_member(:compliance_types, Shapes::ShapeRef.new(shape: ComplianceTypes, location_name: "ComplianceTypes"))
721
776
  GetComplianceDetailsByConfigRuleRequest.add_member(:limit, Shapes::ShapeRef.new(shape: Limit, location_name: "Limit"))
@@ -768,6 +823,23 @@ module Aws::ConfigService
768
823
  GetResourceConfigHistoryResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "nextToken"))
769
824
  GetResourceConfigHistoryResponse.struct_class = Types::GetResourceConfigHistoryResponse
770
825
 
826
+ GroupedResourceCount.add_member(:group_name, Shapes::ShapeRef.new(shape: StringWithCharLimit256, required: true, location_name: "GroupName"))
827
+ GroupedResourceCount.add_member(:resource_count, Shapes::ShapeRef.new(shape: Long, required: true, location_name: "ResourceCount"))
828
+ GroupedResourceCount.struct_class = Types::GroupedResourceCount
829
+
830
+ GroupedResourceCountList.member = Shapes::ShapeRef.new(shape: GroupedResourceCount)
831
+
832
+ ListAggregateDiscoveredResourcesRequest.add_member(:configuration_aggregator_name, Shapes::ShapeRef.new(shape: ConfigurationAggregatorName, required: true, location_name: "ConfigurationAggregatorName"))
833
+ ListAggregateDiscoveredResourcesRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "ResourceType"))
834
+ ListAggregateDiscoveredResourcesRequest.add_member(:filters, Shapes::ShapeRef.new(shape: ResourceFilters, location_name: "Filters"))
835
+ ListAggregateDiscoveredResourcesRequest.add_member(:limit, Shapes::ShapeRef.new(shape: Limit, location_name: "Limit"))
836
+ ListAggregateDiscoveredResourcesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
837
+ ListAggregateDiscoveredResourcesRequest.struct_class = Types::ListAggregateDiscoveredResourcesRequest
838
+
839
+ ListAggregateDiscoveredResourcesResponse.add_member(:resource_identifiers, Shapes::ShapeRef.new(shape: DiscoveredResourceIdentifierList, location_name: "ResourceIdentifiers"))
840
+ ListAggregateDiscoveredResourcesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location_name: "NextToken"))
841
+ ListAggregateDiscoveredResourcesResponse.struct_class = Types::ListAggregateDiscoveredResourcesResponse
842
+
771
843
  ListDiscoveredResourcesRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "resourceType"))
772
844
  ListDiscoveredResourcesRequest.add_member(:resource_ids, Shapes::ShapeRef.new(shape: ResourceIdList, location_name: "resourceIds"))
773
845
  ListDiscoveredResourcesRequest.add_member(:resource_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "resourceName"))
@@ -850,8 +922,19 @@ module Aws::ConfigService
850
922
  ResourceCount.add_member(:count, Shapes::ShapeRef.new(shape: Long, location_name: "count"))
851
923
  ResourceCount.struct_class = Types::ResourceCount
852
924
 
925
+ ResourceCountFilters.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "ResourceType"))
926
+ ResourceCountFilters.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "AccountId"))
927
+ ResourceCountFilters.add_member(:region, Shapes::ShapeRef.new(shape: AwsRegion, location_name: "Region"))
928
+ ResourceCountFilters.struct_class = Types::ResourceCountFilters
929
+
853
930
  ResourceCounts.member = Shapes::ShapeRef.new(shape: ResourceCount)
854
931
 
932
+ ResourceFilters.add_member(:account_id, Shapes::ShapeRef.new(shape: AccountId, location_name: "AccountId"))
933
+ ResourceFilters.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, location_name: "ResourceId"))
934
+ ResourceFilters.add_member(:resource_name, Shapes::ShapeRef.new(shape: ResourceName, location_name: "ResourceName"))
935
+ ResourceFilters.add_member(:region, Shapes::ShapeRef.new(shape: AwsRegion, location_name: "Region"))
936
+ ResourceFilters.struct_class = Types::ResourceFilters
937
+
855
938
  ResourceIdList.member = Shapes::ShapeRef.new(shape: ResourceId)
856
939
 
857
940
  ResourceIdentifier.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location_name: "resourceType"))
@@ -862,6 +945,8 @@ module Aws::ConfigService
862
945
 
863
946
  ResourceIdentifierList.member = Shapes::ShapeRef.new(shape: ResourceIdentifier)
864
947
 
948
+ ResourceIdentifiersList.member = Shapes::ShapeRef.new(shape: AggregateResourceIdentifier)
949
+
865
950
  ResourceKey.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "resourceType"))
866
951
  ResourceKey.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "resourceId"))
867
952
  ResourceKey.struct_class = Types::ResourceKey
@@ -915,6 +1000,8 @@ module Aws::ConfigService
915
1000
  Tags.key = Shapes::ShapeRef.new(shape: Name)
916
1001
  Tags.value = Shapes::ShapeRef.new(shape: Value)
917
1002
 
1003
+ UnprocessedResourceIdentifierList.member = Shapes::ShapeRef.new(shape: AggregateResourceIdentifier)
1004
+
918
1005
 
919
1006
  # @api private
920
1007
  API = Seahorse::Model::Api.new.tap do |api|
@@ -934,6 +1021,16 @@ module Aws::ConfigService
934
1021
  "uid" => "config-2014-11-12",
935
1022
  }
936
1023
 
1024
+ api.add_operation(:batch_get_aggregate_resource_config, Seahorse::Model::Operation.new.tap do |o|
1025
+ o.name = "BatchGetAggregateResourceConfig"
1026
+ o.http_method = "POST"
1027
+ o.http_request_uri = "/"
1028
+ o.input = Shapes::ShapeRef.new(shape: BatchGetAggregateResourceConfigRequest)
1029
+ o.output = Shapes::ShapeRef.new(shape: BatchGetAggregateResourceConfigResponse)
1030
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1031
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchConfigurationAggregatorException)
1032
+ end)
1033
+
937
1034
  api.add_operation(:batch_get_resource_config, Seahorse::Model::Operation.new.tap do |o|
938
1035
  o.name = "BatchGetResourceConfig"
939
1036
  o.http_method = "POST"
@@ -1202,6 +1299,30 @@ module Aws::ConfigService
1202
1299
  o.errors << Shapes::ShapeRef.new(shape: NoSuchConfigurationAggregatorException)
1203
1300
  end)
1204
1301
 
1302
+ api.add_operation(:get_aggregate_discovered_resource_counts, Seahorse::Model::Operation.new.tap do |o|
1303
+ o.name = "GetAggregateDiscoveredResourceCounts"
1304
+ o.http_method = "POST"
1305
+ o.http_request_uri = "/"
1306
+ o.input = Shapes::ShapeRef.new(shape: GetAggregateDiscoveredResourceCountsRequest)
1307
+ o.output = Shapes::ShapeRef.new(shape: GetAggregateDiscoveredResourceCountsResponse)
1308
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1309
+ o.errors << Shapes::ShapeRef.new(shape: InvalidLimitException)
1310
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
1311
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchConfigurationAggregatorException)
1312
+ end)
1313
+
1314
+ api.add_operation(:get_aggregate_resource_config, Seahorse::Model::Operation.new.tap do |o|
1315
+ o.name = "GetAggregateResourceConfig"
1316
+ o.http_method = "POST"
1317
+ o.http_request_uri = "/"
1318
+ o.input = Shapes::ShapeRef.new(shape: GetAggregateResourceConfigRequest)
1319
+ o.output = Shapes::ShapeRef.new(shape: GetAggregateResourceConfigResponse)
1320
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1321
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchConfigurationAggregatorException)
1322
+ o.errors << Shapes::ShapeRef.new(shape: OversizedConfigurationItemException)
1323
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotDiscoveredException)
1324
+ end)
1325
+
1205
1326
  api.add_operation(:get_compliance_details_by_config_rule, Seahorse::Model::Operation.new.tap do |o|
1206
1327
  o.name = "GetComplianceDetailsByConfigRule"
1207
1328
  o.http_method = "POST"
@@ -1270,6 +1391,18 @@ module Aws::ConfigService
1270
1391
  )
1271
1392
  end)
1272
1393
 
1394
+ api.add_operation(:list_aggregate_discovered_resources, Seahorse::Model::Operation.new.tap do |o|
1395
+ o.name = "ListAggregateDiscoveredResources"
1396
+ o.http_method = "POST"
1397
+ o.http_request_uri = "/"
1398
+ o.input = Shapes::ShapeRef.new(shape: ListAggregateDiscoveredResourcesRequest)
1399
+ o.output = Shapes::ShapeRef.new(shape: ListAggregateDiscoveredResourcesResponse)
1400
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
1401
+ o.errors << Shapes::ShapeRef.new(shape: InvalidLimitException)
1402
+ o.errors << Shapes::ShapeRef.new(shape: InvalidNextTokenException)
1403
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchConfigurationAggregatorException)
1404
+ end)
1405
+
1273
1406
  api.add_operation(:list_discovered_resources, Seahorse::Model::Operation.new.tap do |o|
1274
1407
  o.name = "ListDiscoveredResources"
1275
1408
  o.http_method = "POST"
@@ -144,6 +144,52 @@ module Aws::ConfigService
144
144
  include Aws::Structure
145
145
  end
146
146
 
147
+ # The details that identify a resource that is collected by AWS Config
148
+ # aggregator, including the resource type, ID, (if available) the custom
149
+ # resource name, the source account, and source region.
150
+ #
151
+ # @note When making an API call, you may pass AggregateResourceIdentifier
152
+ # data as a hash:
153
+ #
154
+ # {
155
+ # source_account_id: "AccountId", # required
156
+ # source_region: "AwsRegion", # required
157
+ # resource_id: "ResourceId", # required
158
+ # resource_type: "AWS::EC2::CustomerGateway", # required, accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription, AWS::CloudWatch::Alarm, AWS::CloudFormation::Stack, AWS::DynamoDB::Table, AWS::AutoScaling::AutoScalingGroup, AWS::AutoScaling::LaunchConfiguration, AWS::AutoScaling::ScalingPolicy, AWS::AutoScaling::ScheduledAction, AWS::CodeBuild::Project, AWS::WAF::RateBasedRule, AWS::WAF::Rule, AWS::WAF::WebACL, AWS::WAFRegional::RateBasedRule, AWS::WAFRegional::Rule, AWS::WAFRegional::WebACL, AWS::CloudFront::Distribution, AWS::CloudFront::StreamingDistribution, AWS::WAF::RuleGroup, AWS::WAFRegional::RuleGroup, AWS::Lambda::Function, AWS::ElasticBeanstalk::Application, AWS::ElasticBeanstalk::ApplicationVersion, AWS::ElasticBeanstalk::Environment, AWS::ElasticLoadBalancing::LoadBalancer, AWS::XRay::EncryptionConfig, AWS::SSM::AssociationCompliance, AWS::SSM::PatchCompliance, AWS::Shield::Protection, AWS::ShieldRegional::Protection, AWS::Config::ResourceCompliance, AWS::CodePipeline::Pipeline
159
+ # resource_name: "ResourceName",
160
+ # }
161
+ #
162
+ # @!attribute [rw] source_account_id
163
+ # The 12-digit account ID of the source account.
164
+ # @return [String]
165
+ #
166
+ # @!attribute [rw] source_region
167
+ # The source region where data is aggregated.
168
+ # @return [String]
169
+ #
170
+ # @!attribute [rw] resource_id
171
+ # The ID of the AWS resource.
172
+ # @return [String]
173
+ #
174
+ # @!attribute [rw] resource_type
175
+ # The type of the AWS resource.
176
+ # @return [String]
177
+ #
178
+ # @!attribute [rw] resource_name
179
+ # The name of the AWS resource.
180
+ # @return [String]
181
+ #
182
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/AggregateResourceIdentifier AWS API Documentation
183
+ #
184
+ class AggregateResourceIdentifier < Struct.new(
185
+ :source_account_id,
186
+ :source_region,
187
+ :resource_id,
188
+ :resource_type,
189
+ :resource_name)
190
+ include Aws::Structure
191
+ end
192
+
147
193
  # The current sync status between the source and the aggregator account.
148
194
  #
149
195
  # @!attribute [rw] source_id
@@ -231,7 +277,7 @@ module Aws::ConfigService
231
277
  # @return [String]
232
278
  #
233
279
  # @!attribute [rw] account_id
234
- # The 12 digit AWS account ID associated with the resource.
280
+ # The 12-digit AWS account ID associated with the resource.
235
281
  # @return [String]
236
282
  #
237
283
  # @!attribute [rw] configuration_item_capture_time
@@ -305,6 +351,56 @@ module Aws::ConfigService
305
351
  include Aws::Structure
306
352
  end
307
353
 
354
+ # @note When making an API call, you may pass BatchGetAggregateResourceConfigRequest
355
+ # data as a hash:
356
+ #
357
+ # {
358
+ # configuration_aggregator_name: "ConfigurationAggregatorName", # required
359
+ # resource_identifiers: [ # required
360
+ # {
361
+ # source_account_id: "AccountId", # required
362
+ # source_region: "AwsRegion", # required
363
+ # resource_id: "ResourceId", # required
364
+ # resource_type: "AWS::EC2::CustomerGateway", # required, accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription, AWS::CloudWatch::Alarm, AWS::CloudFormation::Stack, AWS::DynamoDB::Table, AWS::AutoScaling::AutoScalingGroup, AWS::AutoScaling::LaunchConfiguration, AWS::AutoScaling::ScalingPolicy, AWS::AutoScaling::ScheduledAction, AWS::CodeBuild::Project, AWS::WAF::RateBasedRule, AWS::WAF::Rule, AWS::WAF::WebACL, AWS::WAFRegional::RateBasedRule, AWS::WAFRegional::Rule, AWS::WAFRegional::WebACL, AWS::CloudFront::Distribution, AWS::CloudFront::StreamingDistribution, AWS::WAF::RuleGroup, AWS::WAFRegional::RuleGroup, AWS::Lambda::Function, AWS::ElasticBeanstalk::Application, AWS::ElasticBeanstalk::ApplicationVersion, AWS::ElasticBeanstalk::Environment, AWS::ElasticLoadBalancing::LoadBalancer, AWS::XRay::EncryptionConfig, AWS::SSM::AssociationCompliance, AWS::SSM::PatchCompliance, AWS::Shield::Protection, AWS::ShieldRegional::Protection, AWS::Config::ResourceCompliance, AWS::CodePipeline::Pipeline
365
+ # resource_name: "ResourceName",
366
+ # },
367
+ # ],
368
+ # }
369
+ #
370
+ # @!attribute [rw] configuration_aggregator_name
371
+ # The name of the configuration aggregator.
372
+ # @return [String]
373
+ #
374
+ # @!attribute [rw] resource_identifiers
375
+ # A list of aggregate ResourceIdentifiers objects.
376
+ # @return [Array<Types::AggregateResourceIdentifier>]
377
+ #
378
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetAggregateResourceConfigRequest AWS API Documentation
379
+ #
380
+ class BatchGetAggregateResourceConfigRequest < Struct.new(
381
+ :configuration_aggregator_name,
382
+ :resource_identifiers)
383
+ include Aws::Structure
384
+ end
385
+
386
+ # @!attribute [rw] base_configuration_items
387
+ # A list that contains the current configuration of one or more
388
+ # resources.
389
+ # @return [Array<Types::BaseConfigurationItem>]
390
+ #
391
+ # @!attribute [rw] unprocessed_resource_identifiers
392
+ # A list of resource identifiers that were not processed with current
393
+ # scope. The list is empty if all the resources are processed.
394
+ # @return [Array<Types::AggregateResourceIdentifier>]
395
+ #
396
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/BatchGetAggregateResourceConfigResponse AWS API Documentation
397
+ #
398
+ class BatchGetAggregateResourceConfigResponse < Struct.new(
399
+ :base_configuration_items,
400
+ :unprocessed_resource_identifiers)
401
+ include Aws::Structure
402
+ end
403
+
308
404
  # @note When making an API call, you may pass BatchGetResourceConfigRequest
309
405
  # data as a hash:
310
406
  #
@@ -2485,6 +2581,125 @@ module Aws::ConfigService
2485
2581
  include Aws::Structure
2486
2582
  end
2487
2583
 
2584
+ # @note When making an API call, you may pass GetAggregateDiscoveredResourceCountsRequest
2585
+ # data as a hash:
2586
+ #
2587
+ # {
2588
+ # configuration_aggregator_name: "ConfigurationAggregatorName", # required
2589
+ # filters: {
2590
+ # resource_type: "AWS::EC2::CustomerGateway", # accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription, AWS::CloudWatch::Alarm, AWS::CloudFormation::Stack, AWS::DynamoDB::Table, AWS::AutoScaling::AutoScalingGroup, AWS::AutoScaling::LaunchConfiguration, AWS::AutoScaling::ScalingPolicy, AWS::AutoScaling::ScheduledAction, AWS::CodeBuild::Project, AWS::WAF::RateBasedRule, AWS::WAF::Rule, AWS::WAF::WebACL, AWS::WAFRegional::RateBasedRule, AWS::WAFRegional::Rule, AWS::WAFRegional::WebACL, AWS::CloudFront::Distribution, AWS::CloudFront::StreamingDistribution, AWS::WAF::RuleGroup, AWS::WAFRegional::RuleGroup, AWS::Lambda::Function, AWS::ElasticBeanstalk::Application, AWS::ElasticBeanstalk::ApplicationVersion, AWS::ElasticBeanstalk::Environment, AWS::ElasticLoadBalancing::LoadBalancer, AWS::XRay::EncryptionConfig, AWS::SSM::AssociationCompliance, AWS::SSM::PatchCompliance, AWS::Shield::Protection, AWS::ShieldRegional::Protection, AWS::Config::ResourceCompliance, AWS::CodePipeline::Pipeline
2591
+ # account_id: "AccountId",
2592
+ # region: "AwsRegion",
2593
+ # },
2594
+ # group_by_key: "RESOURCE_TYPE", # accepts RESOURCE_TYPE, ACCOUNT_ID, AWS_REGION
2595
+ # limit: 1,
2596
+ # next_token: "NextToken",
2597
+ # }
2598
+ #
2599
+ # @!attribute [rw] configuration_aggregator_name
2600
+ # The name of the configuration aggregator.
2601
+ # @return [String]
2602
+ #
2603
+ # @!attribute [rw] filters
2604
+ # Filters the results based on the `ResourceCountFilters` object.
2605
+ # @return [Types::ResourceCountFilters]
2606
+ #
2607
+ # @!attribute [rw] group_by_key
2608
+ # The key to group the resource counts.
2609
+ # @return [String]
2610
+ #
2611
+ # @!attribute [rw] limit
2612
+ # The maximum number of GroupedResourceCount objects returned on each
2613
+ # page. The default is 1000. You cannot specify a number greater than
2614
+ # 1000. If you specify 0, AWS Config uses the default.
2615
+ # @return [Integer]
2616
+ #
2617
+ # @!attribute [rw] next_token
2618
+ # The `nextToken` string returned on a previous page that you use to
2619
+ # get the next page of results in a paginated response.
2620
+ # @return [String]
2621
+ #
2622
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateDiscoveredResourceCountsRequest AWS API Documentation
2623
+ #
2624
+ class GetAggregateDiscoveredResourceCountsRequest < Struct.new(
2625
+ :configuration_aggregator_name,
2626
+ :filters,
2627
+ :group_by_key,
2628
+ :limit,
2629
+ :next_token)
2630
+ include Aws::Structure
2631
+ end
2632
+
2633
+ # @!attribute [rw] total_discovered_resources
2634
+ # The total number of resources that are present in an aggregator with
2635
+ # the filters that you provide.
2636
+ # @return [Integer]
2637
+ #
2638
+ # @!attribute [rw] group_by_key
2639
+ # The key passed into the request object. If `GroupByKey` is not
2640
+ # provided, the result will be empty.
2641
+ # @return [String]
2642
+ #
2643
+ # @!attribute [rw] grouped_resource_counts
2644
+ # Returns a list of GroupedResourceCount objects.
2645
+ # @return [Array<Types::GroupedResourceCount>]
2646
+ #
2647
+ # @!attribute [rw] next_token
2648
+ # The `nextToken` string returned on a previous page that you use to
2649
+ # get the next page of results in a paginated response.
2650
+ # @return [String]
2651
+ #
2652
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateDiscoveredResourceCountsResponse AWS API Documentation
2653
+ #
2654
+ class GetAggregateDiscoveredResourceCountsResponse < Struct.new(
2655
+ :total_discovered_resources,
2656
+ :group_by_key,
2657
+ :grouped_resource_counts,
2658
+ :next_token)
2659
+ include Aws::Structure
2660
+ end
2661
+
2662
+ # @note When making an API call, you may pass GetAggregateResourceConfigRequest
2663
+ # data as a hash:
2664
+ #
2665
+ # {
2666
+ # configuration_aggregator_name: "ConfigurationAggregatorName", # required
2667
+ # resource_identifier: { # required
2668
+ # source_account_id: "AccountId", # required
2669
+ # source_region: "AwsRegion", # required
2670
+ # resource_id: "ResourceId", # required
2671
+ # resource_type: "AWS::EC2::CustomerGateway", # required, accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription, AWS::CloudWatch::Alarm, AWS::CloudFormation::Stack, AWS::DynamoDB::Table, AWS::AutoScaling::AutoScalingGroup, AWS::AutoScaling::LaunchConfiguration, AWS::AutoScaling::ScalingPolicy, AWS::AutoScaling::ScheduledAction, AWS::CodeBuild::Project, AWS::WAF::RateBasedRule, AWS::WAF::Rule, AWS::WAF::WebACL, AWS::WAFRegional::RateBasedRule, AWS::WAFRegional::Rule, AWS::WAFRegional::WebACL, AWS::CloudFront::Distribution, AWS::CloudFront::StreamingDistribution, AWS::WAF::RuleGroup, AWS::WAFRegional::RuleGroup, AWS::Lambda::Function, AWS::ElasticBeanstalk::Application, AWS::ElasticBeanstalk::ApplicationVersion, AWS::ElasticBeanstalk::Environment, AWS::ElasticLoadBalancing::LoadBalancer, AWS::XRay::EncryptionConfig, AWS::SSM::AssociationCompliance, AWS::SSM::PatchCompliance, AWS::Shield::Protection, AWS::ShieldRegional::Protection, AWS::Config::ResourceCompliance, AWS::CodePipeline::Pipeline
2672
+ # resource_name: "ResourceName",
2673
+ # },
2674
+ # }
2675
+ #
2676
+ # @!attribute [rw] configuration_aggregator_name
2677
+ # The name of the configuration aggregator.
2678
+ # @return [String]
2679
+ #
2680
+ # @!attribute [rw] resource_identifier
2681
+ # An object that identifies aggregate resource.
2682
+ # @return [Types::AggregateResourceIdentifier]
2683
+ #
2684
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateResourceConfigRequest AWS API Documentation
2685
+ #
2686
+ class GetAggregateResourceConfigRequest < Struct.new(
2687
+ :configuration_aggregator_name,
2688
+ :resource_identifier)
2689
+ include Aws::Structure
2690
+ end
2691
+
2692
+ # @!attribute [rw] configuration_item
2693
+ # Returns a `ConfigurationItem` object.
2694
+ # @return [Types::ConfigurationItem]
2695
+ #
2696
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GetAggregateResourceConfigResponse AWS API Documentation
2697
+ #
2698
+ class GetAggregateResourceConfigResponse < Struct.new(
2699
+ :configuration_item)
2700
+ include Aws::Structure
2701
+ end
2702
+
2488
2703
  # @note When making an API call, you may pass GetComplianceDetailsByConfigRuleRequest
2489
2704
  # data as a hash:
2490
2705
  #
@@ -2824,6 +3039,94 @@ module Aws::ConfigService
2824
3039
  include Aws::Structure
2825
3040
  end
2826
3041
 
3042
+ # The count of resources that are grouped by the group name.
3043
+ #
3044
+ # @!attribute [rw] group_name
3045
+ # The name of the group that can be region, account ID, or resource
3046
+ # type. For example, region1, region2 if the region was chosen as
3047
+ # `GroupByKey`.
3048
+ # @return [String]
3049
+ #
3050
+ # @!attribute [rw] resource_count
3051
+ # The number of resources in the group.
3052
+ # @return [Integer]
3053
+ #
3054
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/GroupedResourceCount AWS API Documentation
3055
+ #
3056
+ class GroupedResourceCount < Struct.new(
3057
+ :group_name,
3058
+ :resource_count)
3059
+ include Aws::Structure
3060
+ end
3061
+
3062
+ # @note When making an API call, you may pass ListAggregateDiscoveredResourcesRequest
3063
+ # data as a hash:
3064
+ #
3065
+ # {
3066
+ # configuration_aggregator_name: "ConfigurationAggregatorName", # required
3067
+ # resource_type: "AWS::EC2::CustomerGateway", # required, accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription, AWS::CloudWatch::Alarm, AWS::CloudFormation::Stack, AWS::DynamoDB::Table, AWS::AutoScaling::AutoScalingGroup, AWS::AutoScaling::LaunchConfiguration, AWS::AutoScaling::ScalingPolicy, AWS::AutoScaling::ScheduledAction, AWS::CodeBuild::Project, AWS::WAF::RateBasedRule, AWS::WAF::Rule, AWS::WAF::WebACL, AWS::WAFRegional::RateBasedRule, AWS::WAFRegional::Rule, AWS::WAFRegional::WebACL, AWS::CloudFront::Distribution, AWS::CloudFront::StreamingDistribution, AWS::WAF::RuleGroup, AWS::WAFRegional::RuleGroup, AWS::Lambda::Function, AWS::ElasticBeanstalk::Application, AWS::ElasticBeanstalk::ApplicationVersion, AWS::ElasticBeanstalk::Environment, AWS::ElasticLoadBalancing::LoadBalancer, AWS::XRay::EncryptionConfig, AWS::SSM::AssociationCompliance, AWS::SSM::PatchCompliance, AWS::Shield::Protection, AWS::ShieldRegional::Protection, AWS::Config::ResourceCompliance, AWS::CodePipeline::Pipeline
3068
+ # filters: {
3069
+ # account_id: "AccountId",
3070
+ # resource_id: "ResourceId",
3071
+ # resource_name: "ResourceName",
3072
+ # region: "AwsRegion",
3073
+ # },
3074
+ # limit: 1,
3075
+ # next_token: "NextToken",
3076
+ # }
3077
+ #
3078
+ # @!attribute [rw] configuration_aggregator_name
3079
+ # The name of the configuration aggregator.
3080
+ # @return [String]
3081
+ #
3082
+ # @!attribute [rw] resource_type
3083
+ # The type of resources that you want AWS Config to list in the
3084
+ # response.
3085
+ # @return [String]
3086
+ #
3087
+ # @!attribute [rw] filters
3088
+ # Filters the results based on the `ResourceFilters` object.
3089
+ # @return [Types::ResourceFilters]
3090
+ #
3091
+ # @!attribute [rw] limit
3092
+ # The maximum number of resource identifiers returned on each page.
3093
+ # The default is 100. You cannot specify a number greater than 100. If
3094
+ # you specify 0, AWS Config uses the default.
3095
+ # @return [Integer]
3096
+ #
3097
+ # @!attribute [rw] next_token
3098
+ # The `nextToken` string returned on a previous page that you use to
3099
+ # get the next page of results in a paginated response.
3100
+ # @return [String]
3101
+ #
3102
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListAggregateDiscoveredResourcesRequest AWS API Documentation
3103
+ #
3104
+ class ListAggregateDiscoveredResourcesRequest < Struct.new(
3105
+ :configuration_aggregator_name,
3106
+ :resource_type,
3107
+ :filters,
3108
+ :limit,
3109
+ :next_token)
3110
+ include Aws::Structure
3111
+ end
3112
+
3113
+ # @!attribute [rw] resource_identifiers
3114
+ # Returns a list of `ResourceIdentifiers` objects.
3115
+ # @return [Array<Types::AggregateResourceIdentifier>]
3116
+ #
3117
+ # @!attribute [rw] next_token
3118
+ # The `nextToken` string returned on a previous page that you use to
3119
+ # get the next page of results in a paginated response.
3120
+ # @return [String]
3121
+ #
3122
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ListAggregateDiscoveredResourcesResponse AWS API Documentation
3123
+ #
3124
+ class ListAggregateDiscoveredResourcesResponse < Struct.new(
3125
+ :resource_identifiers,
3126
+ :next_token)
3127
+ include Aws::Structure
3128
+ end
3129
+
2827
3130
  # @note When making an API call, you may pass ListDiscoveredResourcesRequest
2828
3131
  # data as a hash:
2829
3132
  #
@@ -3393,6 +3696,78 @@ module Aws::ConfigService
3393
3696
  include Aws::Structure
3394
3697
  end
3395
3698
 
3699
+ # Filters the resource count based on account ID, region, and resource
3700
+ # type.
3701
+ #
3702
+ # @note When making an API call, you may pass ResourceCountFilters
3703
+ # data as a hash:
3704
+ #
3705
+ # {
3706
+ # resource_type: "AWS::EC2::CustomerGateway", # accepts AWS::EC2::CustomerGateway, AWS::EC2::EIP, AWS::EC2::Host, AWS::EC2::Instance, AWS::EC2::InternetGateway, AWS::EC2::NetworkAcl, AWS::EC2::NetworkInterface, AWS::EC2::RouteTable, AWS::EC2::SecurityGroup, AWS::EC2::Subnet, AWS::CloudTrail::Trail, AWS::EC2::Volume, AWS::EC2::VPC, AWS::EC2::VPNConnection, AWS::EC2::VPNGateway, AWS::IAM::Group, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, AWS::ACM::Certificate, AWS::RDS::DBInstance, AWS::RDS::DBSubnetGroup, AWS::RDS::DBSecurityGroup, AWS::RDS::DBSnapshot, AWS::RDS::EventSubscription, AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::S3::Bucket, AWS::SSM::ManagedInstanceInventory, AWS::Redshift::Cluster, AWS::Redshift::ClusterSnapshot, AWS::Redshift::ClusterParameterGroup, AWS::Redshift::ClusterSecurityGroup, AWS::Redshift::ClusterSubnetGroup, AWS::Redshift::EventSubscription, AWS::CloudWatch::Alarm, AWS::CloudFormation::Stack, AWS::DynamoDB::Table, AWS::AutoScaling::AutoScalingGroup, AWS::AutoScaling::LaunchConfiguration, AWS::AutoScaling::ScalingPolicy, AWS::AutoScaling::ScheduledAction, AWS::CodeBuild::Project, AWS::WAF::RateBasedRule, AWS::WAF::Rule, AWS::WAF::WebACL, AWS::WAFRegional::RateBasedRule, AWS::WAFRegional::Rule, AWS::WAFRegional::WebACL, AWS::CloudFront::Distribution, AWS::CloudFront::StreamingDistribution, AWS::WAF::RuleGroup, AWS::WAFRegional::RuleGroup, AWS::Lambda::Function, AWS::ElasticBeanstalk::Application, AWS::ElasticBeanstalk::ApplicationVersion, AWS::ElasticBeanstalk::Environment, AWS::ElasticLoadBalancing::LoadBalancer, AWS::XRay::EncryptionConfig, AWS::SSM::AssociationCompliance, AWS::SSM::PatchCompliance, AWS::Shield::Protection, AWS::ShieldRegional::Protection, AWS::Config::ResourceCompliance, AWS::CodePipeline::Pipeline
3707
+ # account_id: "AccountId",
3708
+ # region: "AwsRegion",
3709
+ # }
3710
+ #
3711
+ # @!attribute [rw] resource_type
3712
+ # The type of the AWS resource.
3713
+ # @return [String]
3714
+ #
3715
+ # @!attribute [rw] account_id
3716
+ # The 12-digit ID of the account.
3717
+ # @return [String]
3718
+ #
3719
+ # @!attribute [rw] region
3720
+ # The region where the account is located.
3721
+ # @return [String]
3722
+ #
3723
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ResourceCountFilters AWS API Documentation
3724
+ #
3725
+ class ResourceCountFilters < Struct.new(
3726
+ :resource_type,
3727
+ :account_id,
3728
+ :region)
3729
+ include Aws::Structure
3730
+ end
3731
+
3732
+ # Filters the results by resource account ID, region, resource ID, and
3733
+ # resource name.
3734
+ #
3735
+ # @note When making an API call, you may pass ResourceFilters
3736
+ # data as a hash:
3737
+ #
3738
+ # {
3739
+ # account_id: "AccountId",
3740
+ # resource_id: "ResourceId",
3741
+ # resource_name: "ResourceName",
3742
+ # region: "AwsRegion",
3743
+ # }
3744
+ #
3745
+ # @!attribute [rw] account_id
3746
+ # The 12-digit source account ID.
3747
+ # @return [String]
3748
+ #
3749
+ # @!attribute [rw] resource_id
3750
+ # The ID of the resource.
3751
+ # @return [String]
3752
+ #
3753
+ # @!attribute [rw] resource_name
3754
+ # The name of the resource.
3755
+ # @return [String]
3756
+ #
3757
+ # @!attribute [rw] region
3758
+ # The source region.
3759
+ # @return [String]
3760
+ #
3761
+ # @see http://docs.aws.amazon.com/goto/WebAPI/config-2014-11-12/ResourceFilters AWS API Documentation
3762
+ #
3763
+ class ResourceFilters < Struct.new(
3764
+ :account_id,
3765
+ :resource_id,
3766
+ :resource_name,
3767
+ :region)
3768
+ include Aws::Structure
3769
+ end
3770
+
3396
3771
  # The details that identify a resource that is discovered by AWS Config,
3397
3772
  # including the resource type, ID, and (if available) the custom
3398
3773
  # resource name.
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-configservice
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.19.0
4
+ version: 1.20.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2018-10-31 00:00:00.000000000 Z
11
+ date: 2018-11-19 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.26.0
22
+ version: 3.37.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.26.0
32
+ version: 3.37.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement