aws-sdk-accessanalyzer 1.2.1 → 1.7.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
- 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