aws-sdk-accessanalyzer 1.2.1 → 1.7.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
- SHA1:
3
- metadata.gz: 5927aa469e006d4205a830113b955f7e5ff0d201
4
- data.tar.gz: e2bb004a39efc312d007ebb56d5b67e8c12f3547
2
+ SHA256:
3
+ metadata.gz: 6cf4c37809cf6741764448f843497b117b091c104322ae9d46354de63c433d56
4
+ data.tar.gz: 4d19d4d0080ed30088d36d5f3e00be0fefd900155af7df95919cd74838b06dfd
5
5
  SHA512:
6
- metadata.gz: d1f736df4006d89f48c282bb1979d8b1c7f93332d190c3146c460a3bdce88ea3d85f05f4edf29555ec247ff6499dd17c29e5b37934c59f7dcac905e90e588861
7
- data.tar.gz: a9ce5b71d1188c9d344507fba2839cbe3e27bf3a0a8ccfc4b310fce6db5ebab56e64f28e7d2cdb219e38ef885fcc19b3e3fc137b2d17ceeda8d813dff4c44306
6
+ metadata.gz: cac2f4472808d03c57c439f584ecbfc847e4a5684e27b692d28fcf4432969803e1e58a2a28dbdfc64741b165771c4e0d5b35fb7d5693c5849e421e87cb00c4ec
7
+ data.tar.gz: d10389babebabebecadc3647a38e86f827ab29d9f2459b27e35ff4c5504423b05d4dd0da5b4f9d6f71afa8354ee49d01806ff9e3c02d4713b8c42b8d74a2b465
@@ -24,17 +24,20 @@ require_relative 'aws-sdk-accessanalyzer/customizations'
24
24
  # methods each accept a hash of request parameters and return a response
25
25
  # structure.
26
26
  #
27
+ # access_analyzer = Aws::AccessAnalyzer::Client.new
28
+ # resp = access_analyzer.create_analyzer(params)
29
+ #
27
30
  # See {Client} for more information.
28
31
  #
29
32
  # # Errors
30
33
  #
31
- # Errors returned from Access Analyzer all
32
- # extend {Errors::ServiceError}.
34
+ # Errors returned from Access Analyzer are defined in the
35
+ # {Errors} module and all extend {Errors::ServiceError}.
33
36
  #
34
37
  # begin
35
38
  # # do stuff
36
39
  # rescue Aws::AccessAnalyzer::Errors::ServiceError
37
- # # rescues all service API errors
40
+ # # rescues all Access Analyzer API errors
38
41
  # end
39
42
  #
40
43
  # See {Errors} for more information.
@@ -42,6 +45,6 @@ require_relative 'aws-sdk-accessanalyzer/customizations'
42
45
  # @service
43
46
  module Aws::AccessAnalyzer
44
47
 
45
- GEM_VERSION = '1.2.1'
48
+ GEM_VERSION = '1.7.0'
46
49
 
47
50
  end
@@ -30,6 +30,18 @@ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
30
30
  Aws::Plugins::GlobalConfiguration.add_identifier(:accessanalyzer)
31
31
 
32
32
  module Aws::AccessAnalyzer
33
+ # An API client for AccessAnalyzer. To construct a client, you need to configure a `:region` and `:credentials`.
34
+ #
35
+ # client = Aws::AccessAnalyzer::Client.new(
36
+ # region: region_name,
37
+ # credentials: credentials,
38
+ # # ...
39
+ # )
40
+ #
41
+ # For details on configuring region and credentials see
42
+ # the [developer guide](/sdk-for-ruby/v3/developer-guide/setup-config.html).
43
+ #
44
+ # See {#initialize} for a full list of supported configuration options.
33
45
  class Client < Seahorse::Client::Base
34
46
 
35
47
  include Aws::ClientStubs
@@ -93,7 +105,7 @@ module Aws::AccessAnalyzer
93
105
  # @option options [required, String] :region
94
106
  # The AWS region to connect to. The configured `:region` is
95
107
  # used to determine the service `:endpoint`. When not passed,
96
- # a default `:region` is search for in the following locations:
108
+ # a default `:region` is searched for in the following locations:
97
109
  #
98
110
  # * `Aws.config[:region]`
99
111
  # * `ENV['AWS_REGION']`
@@ -108,6 +120,12 @@ module Aws::AccessAnalyzer
108
120
  # When set to `true`, a thread polling for endpoints will be running in
109
121
  # the background every 60 secs (default). Defaults to `false`.
110
122
  #
123
+ # @option options [Boolean] :adaptive_retry_wait_to_fill (true)
124
+ # Used only in `adaptive` retry mode. When true, the request will sleep
125
+ # until there is sufficent client side capacity to retry the request.
126
+ # When false, the request will raise a `RetryCapacityNotAvailableError` and will
127
+ # not retry instead of sleeping.
128
+ #
111
129
  # @option options [Boolean] :client_side_monitoring (false)
112
130
  # When `true`, client-side metrics will be collected for all API requests from
113
131
  # this client.
@@ -132,6 +150,10 @@ module Aws::AccessAnalyzer
132
150
  # When `true`, an attempt is made to coerce request parameters into
133
151
  # the required types.
134
152
  #
153
+ # @option options [Boolean] :correct_clock_skew (true)
154
+ # Used only in `standard` and adaptive retry modes. Specifies whether to apply
155
+ # a clock skew correction and retry requests with skewed client clocks.
156
+ #
135
157
  # @option options [Boolean] :disable_host_prefix_injection (false)
136
158
  # Set to true to disable SDK automatically adding host prefix
137
159
  # to default service endpoint when available.
@@ -139,7 +161,7 @@ module Aws::AccessAnalyzer
139
161
  # @option options [String] :endpoint
140
162
  # The client endpoint is normally constructed from the `:region`
141
163
  # option. You should only configure an `:endpoint` when connecting
142
- # to test endpoints. This should be avalid HTTP(S) URI.
164
+ # to test endpoints. This should be a valid HTTP(S) URI.
143
165
  #
144
166
  # @option options [Integer] :endpoint_cache_max_entries (1000)
145
167
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -154,7 +176,7 @@ module Aws::AccessAnalyzer
154
176
  # requests fetching endpoints information. Defaults to 60 sec.
155
177
  #
156
178
  # @option options [Boolean] :endpoint_discovery (false)
157
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
179
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
158
180
  #
159
181
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
182
  # The log formatter.
@@ -166,15 +188,29 @@ module Aws::AccessAnalyzer
166
188
  # The Logger instance to send log messages to. If this option
167
189
  # is not set, logging will be disabled.
168
190
  #
191
+ # @option options [Integer] :max_attempts (3)
192
+ # An integer representing the maximum number attempts that will be made for
193
+ # a single request, including the initial attempt. For example,
194
+ # setting this value to 5 will result in a request being retried up to
195
+ # 4 times. Used in `standard` and `adaptive` retry modes.
196
+ #
169
197
  # @option options [String] :profile ("default")
170
198
  # Used when loading credentials from the shared credentials file
171
199
  # at HOME/.aws/credentials. When not specified, 'default' is used.
172
200
  #
201
+ # @option options [Proc] :retry_backoff
202
+ # A proc or lambda used for backoff. Defaults to 2**retries * retry_base_delay.
203
+ # This option is only used in the `legacy` retry mode.
204
+ #
173
205
  # @option options [Float] :retry_base_delay (0.3)
174
- # The base delay in seconds used by the default backoff function.
206
+ # The base delay in seconds used by the default backoff function. This option
207
+ # is only used in the `legacy` retry mode.
175
208
  #
176
209
  # @option options [Symbol] :retry_jitter (:none)
177
- # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
210
+ # A delay randomiser function used by the default backoff function.
211
+ # Some predefined functions can be referenced by name - :none, :equal, :full,
212
+ # otherwise a Proc that takes and returns a number. This option is only used
213
+ # in the `legacy` retry mode.
178
214
  #
179
215
  # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
216
  #
@@ -182,11 +218,30 @@ module Aws::AccessAnalyzer
182
218
  # The maximum number of times to retry failed requests. Only
183
219
  # ~ 500 level server errors and certain ~ 400 level client errors
184
220
  # are retried. Generally, these are throttling errors, data
185
- # checksum errors, networking errors, timeout errors and auth
186
- # errors from expired credentials.
221
+ # checksum errors, networking errors, timeout errors, auth errors,
222
+ # endpoint discovery, and errors from expired credentials.
223
+ # This option is only used in the `legacy` retry mode.
187
224
  #
188
225
  # @option options [Integer] :retry_max_delay (0)
189
- # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
226
+ # The maximum number of seconds to delay between retries (0 for no limit)
227
+ # used by the default backoff function. This option is only used in the
228
+ # `legacy` retry mode.
229
+ #
230
+ # @option options [String] :retry_mode ("legacy")
231
+ # Specifies which retry algorithm to use. Values are:
232
+ #
233
+ # * `legacy` - The pre-existing retry behavior. This is default value if
234
+ # no retry mode is provided.
235
+ #
236
+ # * `standard` - A standardized set of retry rules across the AWS SDKs.
237
+ # This includes support for retry quotas, which limit the number of
238
+ # unsuccessful retries a client can make.
239
+ #
240
+ # * `adaptive` - An experimental retry mode that includes all the
241
+ # functionality of `standard` mode along with automatic client side
242
+ # throttling. This is a provisional mode that may change behavior
243
+ # in the future.
244
+ #
190
245
  #
191
246
  # @option options [String] :secret_access_key
192
247
  #
@@ -209,16 +264,15 @@ module Aws::AccessAnalyzer
209
264
  # requests through. Formatted like 'http://proxy.com:123'.
210
265
  #
211
266
  # @option options [Float] :http_open_timeout (15) The number of
212
- # seconds to wait when opening a HTTP session before rasing a
267
+ # seconds to wait when opening a HTTP session before raising a
213
268
  # `Timeout::Error`.
214
269
  #
215
270
  # @option options [Integer] :http_read_timeout (60) The default
216
271
  # number of seconds to wait for response data. This value can
217
- # safely be set
218
- # per-request on the session yeidled by {#session_for}.
272
+ # safely be set per-request on the session.
219
273
  #
220
274
  # @option options [Float] :http_idle_timeout (5) The number of
221
- # seconds a connection is allowed to sit idble before it is
275
+ # seconds a connection is allowed to sit idle before it is
222
276
  # considered stale. Stale connections are closed and removed
223
277
  # from the pool before making a request.
224
278
  #
@@ -227,7 +281,7 @@ module Aws::AccessAnalyzer
227
281
  # request body. This option has no effect unless the request has
228
282
  # "Expect" header set to "100-continue". Defaults to `nil` which
229
283
  # disables this behaviour. This value can safely be set per
230
- # request on the session yeidled by {#session_for}.
284
+ # request on the session.
231
285
  #
232
286
  # @option options [Boolean] :http_wire_trace (false) When `true`,
233
287
  # HTTP debug output will be sent to the `:logger`.
@@ -302,7 +356,7 @@ module Aws::AccessAnalyzer
302
356
  # tags: {
303
357
  # "String" => "String",
304
358
  # },
305
- # type: "ACCOUNT", # required, accepts ACCOUNT
359
+ # type: "ACCOUNT", # required, accepts ACCOUNT, ORGANIZATION
306
360
  # })
307
361
  #
308
362
  # @example Response structure
@@ -458,6 +512,7 @@ module Aws::AccessAnalyzer
458
512
  # resp.resource.error #=> String
459
513
  # resp.resource.is_public #=> Boolean
460
514
  # resp.resource.resource_arn #=> String
515
+ # resp.resource.resource_owner_account #=> String
461
516
  # resp.resource.resource_type #=> String, one of "AWS::IAM::Role", "AWS::KMS::Key", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::S3::Bucket", "AWS::SQS::Queue"
462
517
  # resp.resource.shared_via #=> Array
463
518
  # resp.resource.shared_via[0] #=> String
@@ -495,9 +550,11 @@ module Aws::AccessAnalyzer
495
550
  # resp.analyzer.last_resource_analyzed #=> String
496
551
  # resp.analyzer.last_resource_analyzed_at #=> Time
497
552
  # resp.analyzer.name #=> String
553
+ # resp.analyzer.status #=> String, one of "ACTIVE", "CREATING", "DISABLED", "FAILED"
554
+ # resp.analyzer.status_reason.code #=> String, one of "AWS_SERVICE_ACCESS_DISABLED", "DELEGATED_ADMINISTRATOR_DEREGISTERED", "ORGANIZATION_DELETED", "SERVICE_LINKED_ROLE_CREATION_FAILED"
498
555
  # resp.analyzer.tags #=> Hash
499
556
  # resp.analyzer.tags["String"] #=> String
500
- # resp.analyzer.type #=> String, one of "ACCOUNT"
557
+ # resp.analyzer.type #=> String, one of "ACCOUNT", "ORGANIZATION"
501
558
  #
502
559
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/GetAnalyzer AWS API Documentation
503
560
  #
@@ -583,7 +640,11 @@ module Aws::AccessAnalyzer
583
640
  # resp.finding.principal #=> Hash
584
641
  # resp.finding.principal["String"] #=> String
585
642
  # resp.finding.resource #=> String
643
+ # resp.finding.resource_owner_account #=> String
586
644
  # resp.finding.resource_type #=> String, one of "AWS::IAM::Role", "AWS::KMS::Key", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::S3::Bucket", "AWS::SQS::Queue"
645
+ # resp.finding.sources #=> Array
646
+ # resp.finding.sources[0].detail.access_point_arn #=> String
647
+ # resp.finding.sources[0].type #=> String, one of "BUCKET_ACL", "POLICY", "S3_ACCESS_POINT"
587
648
  # resp.finding.status #=> String, one of "ACTIVE", "ARCHIVED", "RESOLVED"
588
649
  # resp.finding.updated_at #=> Time
589
650
  #
@@ -616,6 +677,8 @@ module Aws::AccessAnalyzer
616
677
  # * {Types::ListAnalyzedResourcesResponse#analyzed_resources #analyzed_resources} => Array&lt;Types::AnalyzedResourceSummary&gt;
617
678
  # * {Types::ListAnalyzedResourcesResponse#next_token #next_token} => String
618
679
  #
680
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
681
+ #
619
682
  # @example Request syntax with placeholder values
620
683
  #
621
684
  # resp = client.list_analyzed_resources({
@@ -629,6 +692,7 @@ module Aws::AccessAnalyzer
629
692
  #
630
693
  # resp.analyzed_resources #=> Array
631
694
  # resp.analyzed_resources[0].resource_arn #=> String
695
+ # resp.analyzed_resources[0].resource_owner_account #=> String
632
696
  # resp.analyzed_resources[0].resource_type #=> String, one of "AWS::IAM::Role", "AWS::KMS::Key", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::S3::Bucket", "AWS::SQS::Queue"
633
697
  # resp.next_token #=> String
634
698
  #
@@ -657,12 +721,14 @@ module Aws::AccessAnalyzer
657
721
  # * {Types::ListAnalyzersResponse#analyzers #analyzers} => Array&lt;Types::AnalyzerSummary&gt;
658
722
  # * {Types::ListAnalyzersResponse#next_token #next_token} => String
659
723
  #
724
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
725
+ #
660
726
  # @example Request syntax with placeholder values
661
727
  #
662
728
  # resp = client.list_analyzers({
663
729
  # max_results: 1,
664
730
  # next_token: "Token",
665
- # type: "ACCOUNT", # accepts ACCOUNT
731
+ # type: "ACCOUNT", # accepts ACCOUNT, ORGANIZATION
666
732
  # })
667
733
  #
668
734
  # @example Response structure
@@ -673,9 +739,11 @@ module Aws::AccessAnalyzer
673
739
  # resp.analyzers[0].last_resource_analyzed #=> String
674
740
  # resp.analyzers[0].last_resource_analyzed_at #=> Time
675
741
  # resp.analyzers[0].name #=> String
742
+ # resp.analyzers[0].status #=> String, one of "ACTIVE", "CREATING", "DISABLED", "FAILED"
743
+ # resp.analyzers[0].status_reason.code #=> String, one of "AWS_SERVICE_ACCESS_DISABLED", "DELEGATED_ADMINISTRATOR_DEREGISTERED", "ORGANIZATION_DELETED", "SERVICE_LINKED_ROLE_CREATION_FAILED"
676
744
  # resp.analyzers[0].tags #=> Hash
677
745
  # resp.analyzers[0].tags["String"] #=> String
678
- # resp.analyzers[0].type #=> String, one of "ACCOUNT"
746
+ # resp.analyzers[0].type #=> String, one of "ACCOUNT", "ORGANIZATION"
679
747
  # resp.next_token #=> String
680
748
  #
681
749
  # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/ListAnalyzers AWS API Documentation
@@ -703,6 +771,8 @@ module Aws::AccessAnalyzer
703
771
  # * {Types::ListArchiveRulesResponse#archive_rules #archive_rules} => Array&lt;Types::ArchiveRuleSummary&gt;
704
772
  # * {Types::ListArchiveRulesResponse#next_token #next_token} => String
705
773
  #
774
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
775
+ #
706
776
  # @example Request syntax with placeholder values
707
777
  #
708
778
  # resp = client.list_archive_rules({
@@ -758,6 +828,8 @@ module Aws::AccessAnalyzer
758
828
  # * {Types::ListFindingsResponse#findings #findings} => Array&lt;Types::FindingSummary&gt;
759
829
  # * {Types::ListFindingsResponse#next_token #next_token} => String
760
830
  #
831
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
832
+ #
761
833
  # @example Request syntax with placeholder values
762
834
  #
763
835
  # resp = client.list_findings({
@@ -793,7 +865,11 @@ module Aws::AccessAnalyzer
793
865
  # resp.findings[0].principal #=> Hash
794
866
  # resp.findings[0].principal["String"] #=> String
795
867
  # resp.findings[0].resource #=> String
868
+ # resp.findings[0].resource_owner_account #=> String
796
869
  # resp.findings[0].resource_type #=> String, one of "AWS::IAM::Role", "AWS::KMS::Key", "AWS::Lambda::Function", "AWS::Lambda::LayerVersion", "AWS::S3::Bucket", "AWS::SQS::Queue"
870
+ # resp.findings[0].sources #=> Array
871
+ # resp.findings[0].sources[0].detail.access_point_arn #=> String
872
+ # resp.findings[0].sources[0].type #=> String, one of "BUCKET_ACL", "POLICY", "S3_ACCESS_POINT"
797
873
  # resp.findings[0].status #=> String, one of "ACTIVE", "ARCHIVED", "RESOLVED"
798
874
  # resp.findings[0].updated_at #=> Time
799
875
  # resp.next_token #=> String
@@ -1019,7 +1095,7 @@ module Aws::AccessAnalyzer
1019
1095
  params: params,
1020
1096
  config: config)
1021
1097
  context[:gem_name] = 'aws-sdk-accessanalyzer'
1022
- context[:gem_version] = '1.2.1'
1098
+ context[:gem_version] = '1.7.0'
1023
1099
  Seahorse::Client::Request.new(handlers, context)
1024
1100
  end
1025
1101
 
@@ -17,6 +17,7 @@ module Aws::AccessAnalyzer
17
17
  AnalyzedResourceSummary = Shapes::StructureShape.new(name: 'AnalyzedResourceSummary')
18
18
  AnalyzedResourcesList = Shapes::ListShape.new(name: 'AnalyzedResourcesList')
19
19
  AnalyzerArn = Shapes::StringShape.new(name: 'AnalyzerArn')
20
+ AnalyzerStatus = Shapes::StringShape.new(name: 'AnalyzerStatus')
20
21
  AnalyzerSummary = Shapes::StructureShape.new(name: 'AnalyzerSummary')
21
22
  AnalyzersList = Shapes::ListShape.new(name: 'AnalyzersList')
22
23
  ArchiveRuleSummary = Shapes::StructureShape.new(name: 'ArchiveRuleSummary')
@@ -34,6 +35,10 @@ module Aws::AccessAnalyzer
34
35
  Finding = Shapes::StructureShape.new(name: 'Finding')
35
36
  FindingId = Shapes::StringShape.new(name: 'FindingId')
36
37
  FindingIdList = Shapes::ListShape.new(name: 'FindingIdList')
38
+ FindingSource = Shapes::StructureShape.new(name: 'FindingSource')
39
+ FindingSourceDetail = Shapes::StructureShape.new(name: 'FindingSourceDetail')
40
+ FindingSourceList = Shapes::ListShape.new(name: 'FindingSourceList')
41
+ FindingSourceType = Shapes::StringShape.new(name: 'FindingSourceType')
37
42
  FindingStatus = Shapes::StringShape.new(name: 'FindingStatus')
38
43
  FindingStatusUpdate = Shapes::StringShape.new(name: 'FindingStatusUpdate')
39
44
  FindingSummary = Shapes::StructureShape.new(name: 'FindingSummary')
@@ -63,6 +68,7 @@ module Aws::AccessAnalyzer
63
68
  Name = Shapes::StringShape.new(name: 'Name')
64
69
  OrderBy = Shapes::StringShape.new(name: 'OrderBy')
65
70
  PrincipalMap = Shapes::MapShape.new(name: 'PrincipalMap')
71
+ ReasonCode = Shapes::StringShape.new(name: 'ReasonCode')
66
72
  ResourceArn = Shapes::StringShape.new(name: 'ResourceArn')
67
73
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
68
74
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
@@ -70,6 +76,7 @@ module Aws::AccessAnalyzer
70
76
  SharedViaList = Shapes::ListShape.new(name: 'SharedViaList')
71
77
  SortCriteria = Shapes::StructureShape.new(name: 'SortCriteria')
72
78
  StartResourceScanRequest = Shapes::StructureShape.new(name: 'StartResourceScanRequest')
79
+ StatusReason = Shapes::StructureShape.new(name: 'StatusReason')
73
80
  String = Shapes::StringShape.new(name: 'String')
74
81
  TagKeys = Shapes::ListShape.new(name: 'TagKeys')
75
82
  TagResourceRequest = Shapes::StructureShape.new(name: 'TagResourceRequest')
@@ -100,6 +107,7 @@ module Aws::AccessAnalyzer
100
107
  AnalyzedResource.add_member(:error, Shapes::ShapeRef.new(shape: String, location_name: "error"))
101
108
  AnalyzedResource.add_member(:is_public, Shapes::ShapeRef.new(shape: Boolean, required: true, location_name: "isPublic"))
102
109
  AnalyzedResource.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "resourceArn"))
110
+ AnalyzedResource.add_member(:resource_owner_account, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceOwnerAccount"))
103
111
  AnalyzedResource.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "resourceType"))
104
112
  AnalyzedResource.add_member(:shared_via, Shapes::ShapeRef.new(shape: SharedViaList, location_name: "sharedVia"))
105
113
  AnalyzedResource.add_member(:status, Shapes::ShapeRef.new(shape: FindingStatus, location_name: "status"))
@@ -107,6 +115,7 @@ module Aws::AccessAnalyzer
107
115
  AnalyzedResource.struct_class = Types::AnalyzedResource
108
116
 
109
117
  AnalyzedResourceSummary.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "resourceArn"))
118
+ AnalyzedResourceSummary.add_member(:resource_owner_account, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceOwnerAccount"))
110
119
  AnalyzedResourceSummary.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "resourceType"))
111
120
  AnalyzedResourceSummary.struct_class = Types::AnalyzedResourceSummary
112
121
 
@@ -117,6 +126,8 @@ module Aws::AccessAnalyzer
117
126
  AnalyzerSummary.add_member(:last_resource_analyzed, Shapes::ShapeRef.new(shape: String, location_name: "lastResourceAnalyzed"))
118
127
  AnalyzerSummary.add_member(:last_resource_analyzed_at, Shapes::ShapeRef.new(shape: Timestamp, location_name: "lastResourceAnalyzedAt"))
119
128
  AnalyzerSummary.add_member(:name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "name"))
129
+ AnalyzerSummary.add_member(:status, Shapes::ShapeRef.new(shape: AnalyzerStatus, required: true, location_name: "status"))
130
+ AnalyzerSummary.add_member(:status_reason, Shapes::ShapeRef.new(shape: StatusReason, location_name: "statusReason"))
120
131
  AnalyzerSummary.add_member(:tags, Shapes::ShapeRef.new(shape: TagsMap, location_name: "tags"))
121
132
  AnalyzerSummary.add_member(:type, Shapes::ShapeRef.new(shape: Type, required: true, location_name: "type"))
122
133
  AnalyzerSummary.struct_class = Types::AnalyzerSummary
@@ -182,13 +193,24 @@ module Aws::AccessAnalyzer
182
193
  Finding.add_member(:is_public, Shapes::ShapeRef.new(shape: Boolean, location_name: "isPublic"))
183
194
  Finding.add_member(:principal, Shapes::ShapeRef.new(shape: PrincipalMap, location_name: "principal"))
184
195
  Finding.add_member(:resource, Shapes::ShapeRef.new(shape: String, location_name: "resource"))
196
+ Finding.add_member(:resource_owner_account, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceOwnerAccount"))
185
197
  Finding.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "resourceType"))
198
+ Finding.add_member(:sources, Shapes::ShapeRef.new(shape: FindingSourceList, location_name: "sources"))
186
199
  Finding.add_member(:status, Shapes::ShapeRef.new(shape: FindingStatus, required: true, location_name: "status"))
187
200
  Finding.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "updatedAt"))
188
201
  Finding.struct_class = Types::Finding
189
202
 
190
203
  FindingIdList.member = Shapes::ShapeRef.new(shape: FindingId)
191
204
 
205
+ FindingSource.add_member(:detail, Shapes::ShapeRef.new(shape: FindingSourceDetail, location_name: "detail"))
206
+ FindingSource.add_member(:type, Shapes::ShapeRef.new(shape: FindingSourceType, required: true, location_name: "type"))
207
+ FindingSource.struct_class = Types::FindingSource
208
+
209
+ FindingSourceDetail.add_member(:access_point_arn, Shapes::ShapeRef.new(shape: String, location_name: "accessPointArn"))
210
+ FindingSourceDetail.struct_class = Types::FindingSourceDetail
211
+
212
+ FindingSourceList.member = Shapes::ShapeRef.new(shape: FindingSource)
213
+
192
214
  FindingSummary.add_member(:action, Shapes::ShapeRef.new(shape: ActionList, location_name: "action"))
193
215
  FindingSummary.add_member(:analyzed_at, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "analyzedAt"))
194
216
  FindingSummary.add_member(:condition, Shapes::ShapeRef.new(shape: ConditionKeyMap, required: true, location_name: "condition"))
@@ -198,7 +220,9 @@ module Aws::AccessAnalyzer
198
220
  FindingSummary.add_member(:is_public, Shapes::ShapeRef.new(shape: Boolean, location_name: "isPublic"))
199
221
  FindingSummary.add_member(:principal, Shapes::ShapeRef.new(shape: PrincipalMap, location_name: "principal"))
200
222
  FindingSummary.add_member(:resource, Shapes::ShapeRef.new(shape: String, location_name: "resource"))
223
+ FindingSummary.add_member(:resource_owner_account, Shapes::ShapeRef.new(shape: String, required: true, location_name: "resourceOwnerAccount"))
201
224
  FindingSummary.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, required: true, location_name: "resourceType"))
225
+ FindingSummary.add_member(:sources, Shapes::ShapeRef.new(shape: FindingSourceList, location_name: "sources"))
202
226
  FindingSummary.add_member(:status, Shapes::ShapeRef.new(shape: FindingStatus, required: true, location_name: "status"))
203
227
  FindingSummary.add_member(:updated_at, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "updatedAt"))
204
228
  FindingSummary.struct_class = Types::FindingSummary
@@ -310,6 +334,9 @@ module Aws::AccessAnalyzer
310
334
  StartResourceScanRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "resourceArn"))
311
335
  StartResourceScanRequest.struct_class = Types::StartResourceScanRequest
312
336
 
337
+ StatusReason.add_member(:code, Shapes::ShapeRef.new(shape: ReasonCode, required: true, location_name: "code"))
338
+ StatusReason.struct_class = Types::StatusReason
339
+
313
340
  TagKeys.member = Shapes::ShapeRef.new(shape: String)
314
341
 
315
342
  TagResourceRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: String, required: true, location: "uri", location_name: "resourceArn"))
@@ -6,6 +6,35 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::AccessAnalyzer
9
+
10
+ # When AccessAnalyzer returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::AccessAnalyzer::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all AccessAnalyzer errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::AccessAnalyzer::Errors::ServiceError
18
+ # # rescues all AccessAnalyzer API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {AccessDeniedException}
29
+ # * {ConflictException}
30
+ # * {InternalServerException}
31
+ # * {ResourceNotFoundException}
32
+ # * {ServiceQuotaExceededException}
33
+ # * {ThrottlingException}
34
+ # * {ValidationException}
35
+ #
36
+ # Additionally, error classes are dynamically generated for service errors based on the error code
37
+ # if they are not defined above.
9
38
  module Errors
10
39
 
11
40
  extend Aws::Errors::DynamicErrors
@@ -23,7 +52,6 @@ module Aws::AccessAnalyzer
23
52
  def message
24
53
  @message || @data[:message]
25
54
  end
26
-
27
55
  end
28
56
 
29
57
  class ConflictException < ServiceError
@@ -49,7 +77,6 @@ module Aws::AccessAnalyzer
49
77
  def resource_type
50
78
  @data[:resource_type]
51
79
  end
52
-
53
80
  end
54
81
 
55
82
  class InternalServerException < ServiceError
@@ -70,7 +97,6 @@ module Aws::AccessAnalyzer
70
97
  def retry_after_seconds
71
98
  @data[:retry_after_seconds]
72
99
  end
73
-
74
100
  end
75
101
 
76
102
  class ResourceNotFoundException < ServiceError
@@ -96,7 +122,6 @@ module Aws::AccessAnalyzer
96
122
  def resource_type
97
123
  @data[:resource_type]
98
124
  end
99
-
100
125
  end
101
126
 
102
127
  class ServiceQuotaExceededException < ServiceError
@@ -122,7 +147,6 @@ module Aws::AccessAnalyzer
122
147
  def resource_type
123
148
  @data[:resource_type]
124
149
  end
125
-
126
150
  end
127
151
 
128
152
  class ThrottlingException < ServiceError
@@ -143,7 +167,6 @@ module Aws::AccessAnalyzer
143
167
  def retry_after_seconds
144
168
  @data[:retry_after_seconds]
145
169
  end
146
-
147
170
  end
148
171
 
149
172
  class ValidationException < ServiceError
@@ -169,7 +192,6 @@ module Aws::AccessAnalyzer
169
192
  def reason
170
193
  @data[:reason]
171
194
  end
172
-
173
195
  end
174
196
 
175
197
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::AccessAnalyzer
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -48,12 +48,17 @@ module Aws::AccessAnalyzer
48
48
  # The ARN of the resource that was analyzed.
49
49
  # @return [String]
50
50
  #
51
+ # @!attribute [rw] resource_owner_account
52
+ # The AWS account ID that owns the resource.
53
+ # @return [String]
54
+ #
51
55
  # @!attribute [rw] resource_type
52
56
  # The type of the resource that was analyzed.
53
57
  # @return [String]
54
58
  #
55
59
  # @!attribute [rw] shared_via
56
- # Indicates how the access that generated the finding is granted.
60
+ # Indicates how the access that generated the finding is granted. This
61
+ # is populated for Amazon S3 bucket findings.
57
62
  # @return [Array<String>]
58
63
  #
59
64
  # @!attribute [rw] status
@@ -74,6 +79,7 @@ module Aws::AccessAnalyzer
74
79
  :error,
75
80
  :is_public,
76
81
  :resource_arn,
82
+ :resource_owner_account,
77
83
  :resource_type,
78
84
  :shared_via,
79
85
  :status,
@@ -87,6 +93,10 @@ module Aws::AccessAnalyzer
87
93
  # The ARN of the analyzed resource.
88
94
  # @return [String]
89
95
  #
96
+ # @!attribute [rw] resource_owner_account
97
+ # The AWS account ID that owns the resource.
98
+ # @return [String]
99
+ #
90
100
  # @!attribute [rw] resource_type
91
101
  # The type of resource that was analyzed.
92
102
  # @return [String]
@@ -95,6 +105,7 @@ module Aws::AccessAnalyzer
95
105
  #
96
106
  class AnalyzedResourceSummary < Struct.new(
97
107
  :resource_arn,
108
+ :resource_owner_account,
98
109
  :resource_type)
99
110
  include Aws::Structure
100
111
  end
@@ -121,6 +132,25 @@ module Aws::AccessAnalyzer
121
132
  # The name of the analyzer.
122
133
  # @return [String]
123
134
  #
135
+ # @!attribute [rw] status
136
+ # The status of the analyzer. An `Active` analyzer successfully
137
+ # monitors supported resources and generates new findings. The
138
+ # analyzer is `Disabled` when a user action, such as removing trusted
139
+ # access for IAM Access Analyzer from AWS Organizations, causes the
140
+ # analyzer to stop generating new findings. The status is `Creating`
141
+ # when the analyzer creation is in progress and `Failed` when the
142
+ # analyzer creation has failed.
143
+ # @return [String]
144
+ #
145
+ # @!attribute [rw] status_reason
146
+ # The `statusReason` provides more details about the current status of
147
+ # the analyzer. For example, if the creation for the analyzer fails, a
148
+ # `Failed` status is displayed. For an analyzer with organization as
149
+ # the type, this failure can be due to an issue with creating the
150
+ # service-linked roles required in the member accounts of the AWS
151
+ # organization.
152
+ # @return [Types::StatusReason]
153
+ #
124
154
  # @!attribute [rw] tags
125
155
  # The tags added to the analyzer.
126
156
  # @return [Hash<String,String>]
@@ -138,6 +168,8 @@ module Aws::AccessAnalyzer
138
168
  :last_resource_analyzed,
139
169
  :last_resource_analyzed_at,
140
170
  :name,
171
+ :status,
172
+ :status_reason,
141
173
  :tags,
142
174
  :type)
143
175
  include Aws::Structure
@@ -217,7 +249,7 @@ module Aws::AccessAnalyzer
217
249
  # tags: {
218
250
  # "String" => "String",
219
251
  # },
220
- # type: "ACCOUNT", # required, accepts ACCOUNT
252
+ # type: "ACCOUNT", # required, accepts ACCOUNT, ORGANIZATION
221
253
  # }
222
254
  #
223
255
  # @!attribute [rw] analyzer_name
@@ -467,10 +499,20 @@ module Aws::AccessAnalyzer
467
499
  # The resource that an external principal has access to.
468
500
  # @return [String]
469
501
  #
502
+ # @!attribute [rw] resource_owner_account
503
+ # The AWS account ID that owns the resource.
504
+ # @return [String]
505
+ #
470
506
  # @!attribute [rw] resource_type
471
507
  # The type of the resource reported in the finding.
472
508
  # @return [String]
473
509
  #
510
+ # @!attribute [rw] sources
511
+ # The sources of the finding. This indicates how the access that
512
+ # generated the finding is granted. It is populated for Amazon S3
513
+ # bucket findings.
514
+ # @return [Array<Types::FindingSource>]
515
+ #
474
516
  # @!attribute [rw] status
475
517
  # The current status of the finding.
476
518
  # @return [String]
@@ -491,12 +533,49 @@ module Aws::AccessAnalyzer
491
533
  :is_public,
492
534
  :principal,
493
535
  :resource,
536
+ :resource_owner_account,
494
537
  :resource_type,
538
+ :sources,
495
539
  :status,
496
540
  :updated_at)
497
541
  include Aws::Structure
498
542
  end
499
543
 
544
+ # The source of the finding. This indicates how the access that
545
+ # generated the finding is granted. It is populated for Amazon S3 bucket
546
+ # findings.
547
+ #
548
+ # @!attribute [rw] detail
549
+ # Includes details about how the access that generated the finding is
550
+ # granted. This is populated for Amazon S3 bucket findings.
551
+ # @return [Types::FindingSourceDetail]
552
+ #
553
+ # @!attribute [rw] type
554
+ # Indicates the type of access that generated the finding.
555
+ # @return [String]
556
+ #
557
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/FindingSource AWS API Documentation
558
+ #
559
+ class FindingSource < Struct.new(
560
+ :detail,
561
+ :type)
562
+ include Aws::Structure
563
+ end
564
+
565
+ # Includes details about how the access that generated the finding is
566
+ # granted. This is populated for Amazon S3 bucket findings.
567
+ #
568
+ # @!attribute [rw] access_point_arn
569
+ # The ARN of the access point that generated the finding.
570
+ # @return [String]
571
+ #
572
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/FindingSourceDetail AWS API Documentation
573
+ #
574
+ class FindingSourceDetail < Struct.new(
575
+ :access_point_arn)
576
+ include Aws::Structure
577
+ end
578
+
500
579
  # Contains information about a finding.
501
580
  #
502
581
  # @!attribute [rw] action
@@ -540,10 +619,20 @@ module Aws::AccessAnalyzer
540
619
  # The resource that the external principal has access to.
541
620
  # @return [String]
542
621
  #
622
+ # @!attribute [rw] resource_owner_account
623
+ # The AWS account ID that owns the resource.
624
+ # @return [String]
625
+ #
543
626
  # @!attribute [rw] resource_type
544
627
  # The type of the resource that the external principal has access to.
545
628
  # @return [String]
546
629
  #
630
+ # @!attribute [rw] sources
631
+ # The sources of the finding. This indicates how the access that
632
+ # generated the finding is granted. It is populated for Amazon S3
633
+ # bucket findings.
634
+ # @return [Array<Types::FindingSource>]
635
+ #
547
636
  # @!attribute [rw] status
548
637
  # The status of the finding.
549
638
  # @return [String]
@@ -564,7 +653,9 @@ module Aws::AccessAnalyzer
564
653
  :is_public,
565
654
  :principal,
566
655
  :resource,
656
+ :resource_owner_account,
567
657
  :resource_type,
658
+ :sources,
568
659
  :status,
569
660
  :updated_at)
570
661
  include Aws::Structure
@@ -838,7 +929,7 @@ module Aws::AccessAnalyzer
838
929
  # {
839
930
  # max_results: 1,
840
931
  # next_token: "Token",
841
- # type: "ACCOUNT", # accepts ACCOUNT
932
+ # type: "ACCOUNT", # accepts ACCOUNT, ORGANIZATION
842
933
  # }
843
934
  #
844
935
  # @!attribute [rw] max_results
@@ -1133,6 +1224,23 @@ module Aws::AccessAnalyzer
1133
1224
  include Aws::Structure
1134
1225
  end
1135
1226
 
1227
+ # Provides more details about the current status of the analyzer. For
1228
+ # example, if the creation for the analyzer fails, a `Failed` status is
1229
+ # displayed. For an analyzer with organization as the type, this failure
1230
+ # can be due to an issue with creating the service-linked roles required
1231
+ # in the member accounts of the AWS organization.
1232
+ #
1233
+ # @!attribute [rw] code
1234
+ # The reason code for the current status of the analyzer.
1235
+ # @return [String]
1236
+ #
1237
+ # @see http://docs.aws.amazon.com/goto/WebAPI/accessanalyzer-2019-11-01/StatusReason AWS API Documentation
1238
+ #
1239
+ class StatusReason < Struct.new(
1240
+ :code)
1241
+ include Aws::Structure
1242
+ end
1243
+
1136
1244
  # Adds a tag to the specified resource.
1137
1245
  #
1138
1246
  # @note When making an API call, you may pass TagResourceRequest
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-accessanalyzer
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.2.1
4
+ version: 1.7.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: 2020-03-02 00:00:00.000000000 Z
11
+ date: 2020-05-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -81,7 +81,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
81
81
  version: '0'
82
82
  requirements: []
83
83
  rubyforge_project:
84
- rubygems_version: 2.5.2.3
84
+ rubygems_version: 2.7.6.2
85
85
  signing_key:
86
86
  specification_version: 4
87
87
  summary: AWS SDK for Ruby - Access Analyzer