aws-sdk-configservice 1.19.0 → 1.20.0

Sign up to get free protection for your applications and to get access to all the features.
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