aws-sdk-iam 1.35.0 → 1.40.1

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: 4e320b9fa78cb719f143b3a4a2e3c905f083e166
4
- data.tar.gz: 293403d80943fd009a9069ece2a01b2beb26cedf
2
+ SHA256:
3
+ metadata.gz: f1f0573debb6d506310ad78d1db983c5e9e187e86a4babe7ea256f16b1fe03e2
4
+ data.tar.gz: 6f9db58525a5a87a395e1deb302a10964c9bec597261f73cec838b3de1576ead
5
5
  SHA512:
6
- metadata.gz: 25c89de0b6075f122da510fbba48c8a4b76860b9a4ee4881e4603090485fb89e408bc53b1468f2c2beb8ceb49b43233bc82372d803f13d48d739677b5756a699
7
- data.tar.gz: a78d43a2cb5c9d1ca64dc305e8ae85b7bcd038fc015adb81452a5e7752b0f1909b731357fcaf46991e6bf2b7068fb44bff26fa926cca5512d4ac32fa9d5e3faf
6
+ metadata.gz: b15646782b537217aba84d2d1e272027706bec90c5a46d580f249363c423f9afe7884a67776f0151c747064e8b7250f6c28e941ed58b4f6879a355b85c74954f
7
+ data.tar.gz: 677b44e3115d09be4809ffeeeaaefa2ba84a5866eccaa74486c622ee4ae15464fa53e24fe67d799cc8b467c4fced1615007d816c8c05ab00fc805431d3c0d117
@@ -67,6 +67,6 @@ require_relative 'aws-sdk-iam/customizations'
67
67
  # @service
68
68
  module Aws::IAM
69
69
 
70
- GEM_VERSION = '1.35.0'
70
+ GEM_VERSION = '1.40.1'
71
71
 
72
72
  end
@@ -24,6 +24,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
24
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
25
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
26
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
28
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
29
  require 'aws-sdk-core/plugins/protocols/query.rb'
29
30
 
@@ -69,6 +70,7 @@ module Aws::IAM
69
70
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
71
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
72
  add_plugin(Aws::Plugins::TransferEncoding)
73
+ add_plugin(Aws::Plugins::HttpChecksum)
72
74
  add_plugin(Aws::Plugins::SignatureV4)
73
75
  add_plugin(Aws::Plugins::Protocols::Query)
74
76
 
@@ -105,7 +107,7 @@ module Aws::IAM
105
107
  # @option options [required, String] :region
106
108
  # The AWS region to connect to. The configured `:region` is
107
109
  # used to determine the service `:endpoint`. When not passed,
108
- # a default `:region` is search for in the following locations:
110
+ # a default `:region` is searched for in the following locations:
109
111
  #
110
112
  # * `Aws.config[:region]`
111
113
  # * `ENV['AWS_REGION']`
@@ -161,7 +163,7 @@ module Aws::IAM
161
163
  # @option options [String] :endpoint
162
164
  # The client endpoint is normally constructed from the `:region`
163
165
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be avalid HTTP(S) URI.
166
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
167
  #
166
168
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
169
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -176,7 +178,7 @@ module Aws::IAM
176
178
  # requests fetching endpoints information. Defaults to 60 sec.
177
179
  #
178
180
  # @option options [Boolean] :endpoint_discovery (false)
179
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
181
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
180
182
  #
181
183
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
184
  # The log formatter.
@@ -3794,8 +3796,9 @@ module Aws::IAM
3794
3796
  #
3795
3797
  # </note>
3796
3798
  #
3797
- # For more information about service last accessed data, see [Reducing
3798
- # Policy Scope by Viewing User Activity][4] in the *IAM User Guide*.
3799
+ # For more information about service and action last accessed data, see
3800
+ # [Reducing Permissions Using Service Last Accessed Data][4] in the *IAM
3801
+ # User Guide*.
3799
3802
  #
3800
3803
  #
3801
3804
  #
@@ -3809,6 +3812,14 @@ module Aws::IAM
3809
3812
  # used to generate information about when the resource was last used in
3810
3813
  # an attempt to access an AWS service.
3811
3814
  #
3815
+ # @option params [String] :granularity
3816
+ # The level of detail that you want to generate. You can specify whether
3817
+ # you want to generate information about the last attempt to access
3818
+ # services or actions. If you specify service-level granularity, this
3819
+ # operation generates only service data. If you specify action-level
3820
+ # granularity, it generates service and action data. If you don't
3821
+ # include this optional parameter, the operation generates service data.
3822
+ #
3812
3823
  # @return [Types::GenerateServiceLastAccessedDetailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3813
3824
  #
3814
3825
  # * {Types::GenerateServiceLastAccessedDetailsResponse#job_id #job_id} => String
@@ -3831,6 +3842,7 @@ module Aws::IAM
3831
3842
  #
3832
3843
  # resp = client.generate_service_last_accessed_details({
3833
3844
  # arn: "arnType", # required
3845
+ # granularity: "SERVICE_LEVEL", # accepts SERVICE_LEVEL, ACTION_LEVEL
3834
3846
  # })
3835
3847
  #
3836
3848
  # @example Response structure
@@ -5404,9 +5416,19 @@ module Aws::IAM
5404
5416
  #
5405
5417
  # By default, the list is sorted by service namespace.
5406
5418
  #
5419
+ # If you specified `ACTION_LEVEL` granularity when you generated the
5420
+ # report, this operation returns service and action last accessed data.
5421
+ # This includes the most recent access attempt for each tracked action
5422
+ # within a service. Otherwise, this operation returns only service data.
5423
+ #
5424
+ # For more information about service and action last accessed data, see
5425
+ # [Reducing Permissions Using Service Last Accessed Data][2] in the *IAM
5426
+ # User Guide*.
5427
+ #
5407
5428
  #
5408
5429
  #
5409
5430
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-basics
5431
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html
5410
5432
  #
5411
5433
  # @option params [required, String] :job_id
5412
5434
  # The ID of the request generated by the
@@ -5435,6 +5457,7 @@ module Aws::IAM
5435
5457
  # @return [Types::GetServiceLastAccessedDetailsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
5436
5458
  #
5437
5459
  # * {Types::GetServiceLastAccessedDetailsResponse#job_status #job_status} => String
5460
+ # * {Types::GetServiceLastAccessedDetailsResponse#job_type #job_type} => String
5438
5461
  # * {Types::GetServiceLastAccessedDetailsResponse#job_creation_date #job_creation_date} => Time
5439
5462
  # * {Types::GetServiceLastAccessedDetailsResponse#services_last_accessed #services_last_accessed} => Array&lt;Types::ServiceLastAccessed&gt;
5440
5463
  # * {Types::GetServiceLastAccessedDetailsResponse#job_completion_date #job_completion_date} => Time
@@ -5484,13 +5507,20 @@ module Aws::IAM
5484
5507
  # @example Response structure
5485
5508
  #
5486
5509
  # resp.job_status #=> String, one of "IN_PROGRESS", "COMPLETED", "FAILED"
5510
+ # resp.job_type #=> String, one of "SERVICE_LEVEL", "ACTION_LEVEL"
5487
5511
  # resp.job_creation_date #=> Time
5488
5512
  # resp.services_last_accessed #=> Array
5489
5513
  # resp.services_last_accessed[0].service_name #=> String
5490
5514
  # resp.services_last_accessed[0].last_authenticated #=> Time
5491
5515
  # resp.services_last_accessed[0].service_namespace #=> String
5492
5516
  # resp.services_last_accessed[0].last_authenticated_entity #=> String
5517
+ # resp.services_last_accessed[0].last_authenticated_region #=> String
5493
5518
  # resp.services_last_accessed[0].total_authenticated_entities #=> Integer
5519
+ # resp.services_last_accessed[0].tracked_actions_last_accessed #=> Array
5520
+ # resp.services_last_accessed[0].tracked_actions_last_accessed[0].action_name #=> String
5521
+ # resp.services_last_accessed[0].tracked_actions_last_accessed[0].last_accessed_entity #=> String
5522
+ # resp.services_last_accessed[0].tracked_actions_last_accessed[0].last_accessed_time #=> Time
5523
+ # resp.services_last_accessed[0].tracked_actions_last_accessed[0].last_accessed_region #=> String
5494
5524
  # resp.job_completion_date #=> Time
5495
5525
  # resp.is_truncated #=> Boolean
5496
5526
  # resp.marker #=> String
@@ -9577,7 +9607,7 @@ module Aws::IAM
9577
9607
  # operation. An IAM entity can only have one permissions boundary in
9578
9608
  # effect at a time. For example, if a permissions boundary is attached
9579
9609
  # to an entity and you pass in a different permissions boundary policy
9580
- # using this parameter, then the new permission boundary policy is used
9610
+ # using this parameter, then the new permissions boundary policy is used
9581
9611
  # for the simulation. For more information about permissions boundaries,
9582
9612
  # see [Permissions Boundaries for IAM Entities][1] in the *IAM User
9583
9613
  # Guide*. The policy input is specified as a string containing the
@@ -11533,7 +11563,7 @@ module Aws::IAM
11533
11563
  params: params,
11534
11564
  config: config)
11535
11565
  context[:gem_name] = 'aws-sdk-iam'
11536
- context[:gem_version] = '1.35.0'
11566
+ context[:gem_version] = '1.40.1'
11537
11567
  Seahorse::Client::Request.new(handlers, context)
11538
11568
  end
11539
11569
 
@@ -11,6 +11,7 @@ module Aws::IAM
11
11
 
12
12
  include Seahorse::Model
13
13
 
14
+ AccessAdvisorUsageGranularityType = Shapes::StringShape.new(name: 'AccessAdvisorUsageGranularityType')
14
15
  AccessDetail = Shapes::StructureShape.new(name: 'AccessDetail')
15
16
  AccessDetails = Shapes::ListShape.new(name: 'AccessDetails')
16
17
  AccessKey = Shapes::StructureShape.new(name: 'AccessKey')
@@ -320,6 +321,8 @@ module Aws::IAM
320
321
  Tag = Shapes::StructureShape.new(name: 'Tag')
321
322
  TagRoleRequest = Shapes::StructureShape.new(name: 'TagRoleRequest')
322
323
  TagUserRequest = Shapes::StructureShape.new(name: 'TagUserRequest')
324
+ TrackedActionLastAccessed = Shapes::StructureShape.new(name: 'TrackedActionLastAccessed')
325
+ TrackedActionsLastAccessed = Shapes::ListShape.new(name: 'TrackedActionsLastAccessed')
323
326
  UnmodifiableEntityException = Shapes::StructureShape.new(name: 'UnmodifiableEntityException')
324
327
  UnrecognizedPublicKeyEncodingException = Shapes::StructureShape.new(name: 'UnrecognizedPublicKeyEncodingException')
325
328
  UntagRoleRequest = Shapes::StructureShape.new(name: 'UntagRoleRequest')
@@ -833,6 +836,7 @@ module Aws::IAM
833
836
  GenerateOrganizationsAccessReportResponse.struct_class = Types::GenerateOrganizationsAccessReportResponse
834
837
 
835
838
  GenerateServiceLastAccessedDetailsRequest.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
839
+ GenerateServiceLastAccessedDetailsRequest.add_member(:granularity, Shapes::ShapeRef.new(shape: AccessAdvisorUsageGranularityType, location_name: "Granularity"))
836
840
  GenerateServiceLastAccessedDetailsRequest.struct_class = Types::GenerateServiceLastAccessedDetailsRequest
837
841
 
838
842
  GenerateServiceLastAccessedDetailsResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: jobIDType, location_name: "JobId"))
@@ -993,6 +997,7 @@ module Aws::IAM
993
997
  GetServiceLastAccessedDetailsRequest.struct_class = Types::GetServiceLastAccessedDetailsRequest
994
998
 
995
999
  GetServiceLastAccessedDetailsResponse.add_member(:job_status, Shapes::ShapeRef.new(shape: jobStatusType, required: true, location_name: "JobStatus"))
1000
+ GetServiceLastAccessedDetailsResponse.add_member(:job_type, Shapes::ShapeRef.new(shape: AccessAdvisorUsageGranularityType, location_name: "JobType"))
996
1001
  GetServiceLastAccessedDetailsResponse.add_member(:job_creation_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "JobCreationDate"))
997
1002
  GetServiceLastAccessedDetailsResponse.add_member(:services_last_accessed, Shapes::ShapeRef.new(shape: ServicesLastAccessed, required: true, location_name: "ServicesLastAccessed"))
998
1003
  GetServiceLastAccessedDetailsResponse.add_member(:job_completion_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "JobCompletionDate"))
@@ -1626,7 +1631,9 @@ module Aws::IAM
1626
1631
  ServiceLastAccessed.add_member(:last_authenticated, Shapes::ShapeRef.new(shape: dateType, location_name: "LastAuthenticated"))
1627
1632
  ServiceLastAccessed.add_member(:service_namespace, Shapes::ShapeRef.new(shape: serviceNamespaceType, required: true, location_name: "ServiceNamespace"))
1628
1633
  ServiceLastAccessed.add_member(:last_authenticated_entity, Shapes::ShapeRef.new(shape: arnType, location_name: "LastAuthenticatedEntity"))
1634
+ ServiceLastAccessed.add_member(:last_authenticated_region, Shapes::ShapeRef.new(shape: stringType, location_name: "LastAuthenticatedRegion"))
1629
1635
  ServiceLastAccessed.add_member(:total_authenticated_entities, Shapes::ShapeRef.new(shape: integerType, location_name: "TotalAuthenticatedEntities"))
1636
+ ServiceLastAccessed.add_member(:tracked_actions_last_accessed, Shapes::ShapeRef.new(shape: TrackedActionsLastAccessed, location_name: "TrackedActionsLastAccessed"))
1630
1637
  ServiceLastAccessed.struct_class = Types::ServiceLastAccessed
1631
1638
 
1632
1639
  ServiceNotSupportedException.add_member(:message, Shapes::ShapeRef.new(shape: serviceNotSupportedMessage, location_name: "message"))
@@ -1721,6 +1728,14 @@ module Aws::IAM
1721
1728
  TagUserRequest.add_member(:tags, Shapes::ShapeRef.new(shape: tagListType, required: true, location_name: "Tags"))
1722
1729
  TagUserRequest.struct_class = Types::TagUserRequest
1723
1730
 
1731
+ TrackedActionLastAccessed.add_member(:action_name, Shapes::ShapeRef.new(shape: stringType, location_name: "ActionName"))
1732
+ TrackedActionLastAccessed.add_member(:last_accessed_entity, Shapes::ShapeRef.new(shape: arnType, location_name: "LastAccessedEntity"))
1733
+ TrackedActionLastAccessed.add_member(:last_accessed_time, Shapes::ShapeRef.new(shape: dateType, location_name: "LastAccessedTime"))
1734
+ TrackedActionLastAccessed.add_member(:last_accessed_region, Shapes::ShapeRef.new(shape: stringType, location_name: "LastAccessedRegion"))
1735
+ TrackedActionLastAccessed.struct_class = Types::TrackedActionLastAccessed
1736
+
1737
+ TrackedActionsLastAccessed.member = Shapes::ShapeRef.new(shape: TrackedActionLastAccessed)
1738
+
1724
1739
  UnmodifiableEntityException.add_member(:message, Shapes::ShapeRef.new(shape: unmodifiableEntityMessage, location_name: "message"))
1725
1740
  UnmodifiableEntityException.struct_class = Types::UnmodifiableEntityException
1726
1741
 
@@ -338,7 +338,7 @@ module Aws::IAM
338
338
  # @return [GroupPolicy]
339
339
  def create_policy(options = {})
340
340
  options = options.merge(group_name: @name)
341
- resp = @client.put_group_policy(options)
341
+ @client.put_group_policy(options)
342
342
  GroupPolicy.new(
343
343
  group_name: @name,
344
344
  name: options[:policy_name],
@@ -434,7 +434,7 @@ module Aws::IAM
434
434
  # @return [Group]
435
435
  def update(options = {})
436
436
  options = options.merge(group_name: @name)
437
- resp = @client.update_group(options)
437
+ @client.update_group(options)
438
438
  Group.new(
439
439
  name: options[:new_group_name],
440
440
  client: @client
@@ -335,8 +335,8 @@ module Aws::IAM
335
335
 
336
336
  def yield_waiter_and_warn(waiter, &block)
337
337
  if !@waiter_block_warned
338
- msg = "pass options to configure the waiter; "
339
- msg << "yielding the waiter is deprecated"
338
+ msg = "pass options to configure the waiter; "\
339
+ "yielding the waiter is deprecated"
340
340
  warn(msg)
341
341
  @waiter_block_warned = true
342
342
  end
@@ -173,7 +173,7 @@ module Aws::IAM
173
173
  # the user.
174
174
  # @return [AccountPasswordPolicy]
175
175
  def create_account_password_policy(options = {})
176
- resp = @client.update_account_password_policy(options)
176
+ @client.update_account_password_policy(options)
177
177
  AccountPasswordPolicy.new(client: @client)
178
178
  end
179
179
 
@@ -604,7 +604,7 @@ module Aws::IAM
604
604
  # [1]: http://wikipedia.org/wiki/regex
605
605
  # @return [ServerCertificate]
606
606
  def create_server_certificate(options = {})
607
- resp = @client.upload_server_certificate(options)
607
+ @client.upload_server_certificate(options)
608
608
  ServerCertificate.new(
609
609
  name: options[:server_certificate_name],
610
610
  client: @client
@@ -233,7 +233,7 @@ module Aws::IAM
233
233
  # @return [ServerCertificate]
234
234
  def update(options = {})
235
235
  options = options.merge(server_certificate_name: @name)
236
- resp = @client.update_server_certificate(options)
236
+ @client.update_server_certificate(options)
237
237
  ServerCertificate.new(
238
238
  name: options[:new_server_certificate_name],
239
239
  client: @client
@@ -3005,6 +3005,7 @@ module Aws::IAM
3005
3005
  #
3006
3006
  # {
3007
3007
  # arn: "arnType", # required
3008
+ # granularity: "SERVICE_LEVEL", # accepts SERVICE_LEVEL, ACTION_LEVEL
3008
3009
  # }
3009
3010
  #
3010
3011
  # @!attribute [rw] arn
@@ -3013,10 +3014,21 @@ module Aws::IAM
3013
3014
  # in an attempt to access an AWS service.
3014
3015
  # @return [String]
3015
3016
  #
3017
+ # @!attribute [rw] granularity
3018
+ # The level of detail that you want to generate. You can specify
3019
+ # whether you want to generate information about the last attempt to
3020
+ # access services or actions. If you specify service-level
3021
+ # granularity, this operation generates only service data. If you
3022
+ # specify action-level granularity, it generates service and action
3023
+ # data. If you don't include this optional parameter, the operation
3024
+ # generates service data.
3025
+ # @return [String]
3026
+ #
3016
3027
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateServiceLastAccessedDetailsRequest AWS API Documentation
3017
3028
  #
3018
3029
  class GenerateServiceLastAccessedDetailsRequest < Struct.new(
3019
- :arn)
3030
+ :arn,
3031
+ :granularity)
3020
3032
  include Aws::Structure
3021
3033
  end
3022
3034
 
@@ -4176,6 +4188,12 @@ module Aws::IAM
4176
4188
  # The status of the job.
4177
4189
  # @return [String]
4178
4190
  #
4191
+ # @!attribute [rw] job_type
4192
+ # The type of job. Service jobs return information about when each
4193
+ # service was last accessed. Action jobs also include information
4194
+ # about when tracked actions within the service were last accessed.
4195
+ # @return [String]
4196
+ #
4179
4197
  # @!attribute [rw] job_creation_date
4180
4198
  # The date and time, in [ISO 8601 date-time format][1], when the
4181
4199
  # report job was created.
@@ -4227,6 +4245,7 @@ module Aws::IAM
4227
4245
  #
4228
4246
  class GetServiceLastAccessedDetailsResponse < Struct.new(
4229
4247
  :job_status,
4248
+ :job_type,
4230
4249
  :job_creation_date,
4231
4250
  :services_last_accessed,
4232
4251
  :job_completion_date,
@@ -9118,6 +9137,19 @@ module Aws::IAM
9118
9137
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period
9119
9138
  # @return [String]
9120
9139
  #
9140
+ # @!attribute [rw] last_authenticated_region
9141
+ # The Region from which the authenticated entity (user or role) last
9142
+ # attempted to access the service. AWS does not report unauthenticated
9143
+ # requests.
9144
+ #
9145
+ # This field is null if no IAM entities attempted to access the
9146
+ # service within the [reporting period][1].
9147
+ #
9148
+ #
9149
+ #
9150
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period
9151
+ # @return [String]
9152
+ #
9121
9153
  # @!attribute [rw] total_authenticated_entities
9122
9154
  # The total number of authenticated principals (root user, IAM users,
9123
9155
  # or IAM roles) that have attempted to access the service.
@@ -9130,6 +9162,21 @@ module Aws::IAM
9130
9162
  # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period
9131
9163
  # @return [Integer]
9132
9164
  #
9165
+ # @!attribute [rw] tracked_actions_last_accessed
9166
+ # An object that contains details about the most recent attempt to
9167
+ # access a tracked action within the service.
9168
+ #
9169
+ # This field is null if there no tracked actions or if the principal
9170
+ # did not use the tracked actions within the [reporting period][1].
9171
+ # This field is also null if the report was generated at the service
9172
+ # level and not the action level. For more information, see the
9173
+ # `Granularity` field in GenerateServiceLastAccessedDetails.
9174
+ #
9175
+ #
9176
+ #
9177
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period
9178
+ # @return [Array<Types::TrackedActionLastAccessed>]
9179
+ #
9133
9180
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ServiceLastAccessed AWS API Documentation
9134
9181
  #
9135
9182
  class ServiceLastAccessed < Struct.new(
@@ -9137,7 +9184,9 @@ module Aws::IAM
9137
9184
  :last_authenticated,
9138
9185
  :service_namespace,
9139
9186
  :last_authenticated_entity,
9140
- :total_authenticated_entities)
9187
+ :last_authenticated_region,
9188
+ :total_authenticated_entities,
9189
+ :tracked_actions_last_accessed)
9141
9190
  include Aws::Structure
9142
9191
  end
9143
9192
 
@@ -9716,7 +9765,7 @@ module Aws::IAM
9716
9765
  # this operation. An IAM entity can only have one permissions boundary
9717
9766
  # in effect at a time. For example, if a permissions boundary is
9718
9767
  # attached to an entity and you pass in a different permissions
9719
- # boundary policy using this parameter, then the new permission
9768
+ # boundary policy using this parameter, then the new permissions
9720
9769
  # boundary policy is used for the simulation. For more information
9721
9770
  # about permissions boundaries, see [Permissions Boundaries for IAM
9722
9771
  # Entities][1] in the *IAM User Guide*. The policy input is specified
@@ -10082,6 +10131,66 @@ module Aws::IAM
10082
10131
  include Aws::Structure
10083
10132
  end
10084
10133
 
10134
+ # Contains details about the most recent attempt to access an action
10135
+ # within the service.
10136
+ #
10137
+ # This data type is used as a response element in the
10138
+ # GetServiceLastAccessedDetails operation.
10139
+ #
10140
+ # @!attribute [rw] action_name
10141
+ # The name of the tracked action to which access was attempted.
10142
+ # Tracked actions are actions that report activity to IAM.
10143
+ # @return [String]
10144
+ #
10145
+ # @!attribute [rw] last_accessed_entity
10146
+ # The Amazon Resource Name (ARN). ARNs are unique identifiers for AWS
10147
+ # resources.
10148
+ #
10149
+ # For more information about ARNs, go to [Amazon Resource Names (ARNs)
10150
+ # and AWS Service Namespaces][1] in the *AWS General Reference*.
10151
+ #
10152
+ #
10153
+ #
10154
+ # [1]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html
10155
+ # @return [String]
10156
+ #
10157
+ # @!attribute [rw] last_accessed_time
10158
+ # The date and time, in [ISO 8601 date-time format][1], when an
10159
+ # authenticated entity most recently attempted to access the tracked
10160
+ # service. AWS does not report unauthenticated requests.
10161
+ #
10162
+ # This field is null if no IAM entities attempted to access the
10163
+ # service within the [reporting period][2].
10164
+ #
10165
+ #
10166
+ #
10167
+ # [1]: http://www.iso.org/iso/iso8601
10168
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period
10169
+ # @return [Time]
10170
+ #
10171
+ # @!attribute [rw] last_accessed_region
10172
+ # The Region from which the authenticated entity (user or role) last
10173
+ # attempted to access the tracked action. AWS does not report
10174
+ # unauthenticated requests.
10175
+ #
10176
+ # This field is null if no IAM entities attempted to access the
10177
+ # service within the [reporting period][1].
10178
+ #
10179
+ #
10180
+ #
10181
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period
10182
+ # @return [String]
10183
+ #
10184
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/TrackedActionLastAccessed AWS API Documentation
10185
+ #
10186
+ class TrackedActionLastAccessed < Struct.new(
10187
+ :action_name,
10188
+ :last_accessed_entity,
10189
+ :last_accessed_time,
10190
+ :last_accessed_region)
10191
+ include Aws::Structure
10192
+ end
10193
+
10085
10194
  # The request was rejected because only the service that depends on the
10086
10195
  # service-linked role can modify or delete the role on your behalf. The
10087
10196
  # error message includes the name of the service that depends on this
@@ -502,7 +502,7 @@ module Aws::IAM
502
502
  # @return [UserPolicy]
503
503
  def create_policy(options = {})
504
504
  options = options.merge(user_name: @name)
505
- resp = @client.put_user_policy(options)
505
+ @client.put_user_policy(options)
506
506
  UserPolicy.new(
507
507
  user_name: @name,
508
508
  name: options[:policy_name],
@@ -596,7 +596,7 @@ module Aws::IAM
596
596
  # @return [MfaDevice]
597
597
  def enable_mfa(options = {})
598
598
  options = options.merge(user_name: @name)
599
- resp = @client.enable_mfa_device(options)
599
+ @client.enable_mfa_device(options)
600
600
  MfaDevice.new(
601
601
  user_name: @name,
602
602
  serial_number: options[:serial_number],
@@ -659,7 +659,7 @@ module Aws::IAM
659
659
  # @return [User]
660
660
  def update(options = {})
661
661
  options = options.merge(user_name: @name)
662
- resp = @client.update_user(options)
662
+ @client.update_user(options)
663
663
  User.new(
664
664
  name: options[:new_user_name],
665
665
  client: @client
@@ -901,8 +901,8 @@ module Aws::IAM
901
901
 
902
902
  def yield_waiter_and_warn(waiter, &block)
903
903
  if !@waiter_block_warned
904
- msg = "pass options to configure the waiter; "
905
- msg << "yielding the waiter is deprecated"
904
+ msg = "pass options to configure the waiter; "\
905
+ "yielding the waiter is deprecated"
906
906
  warn(msg)
907
907
  @waiter_block_warned = true
908
908
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iam
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.35.0
4
+ version: 1.40.1
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-04-06 00:00:00.000000000 Z
11
+ date: 2020-06-11 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.71.0
22
+ version: 3.99.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.71.0
32
+ version: 3.99.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement
@@ -104,7 +104,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
104
104
  version: '0'
105
105
  requirements: []
106
106
  rubyforge_project:
107
- rubygems_version: 2.5.2.3
107
+ rubygems_version: 2.7.6.2
108
108
  signing_key:
109
109
  specification_version: 4
110
110
  summary: AWS SDK for Ruby - IAM