aws-sdk-iam 1.25.0 → 1.26.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: ae86c7a74f0bbf1d030029268e7cf74ae71ef2ca
4
- data.tar.gz: d90754c86f70d09cc9527664a74efc54e9a57bbe
3
+ metadata.gz: 8310c2972d0dc5577134b2412743dc2b8e9d6511
4
+ data.tar.gz: 9de6bd9f1c90991b36d6b9bc2d5216f1f214c50b
5
5
  SHA512:
6
- metadata.gz: 5ffdfad575e940f19fc1697e5048214b68919cb8da6276575b962be8c89ccc6e27869d5dc3605e4645261aef59e826e303b7d0486d7d00055b4bcaf9f0a6eee6
7
- data.tar.gz: 937e0105ba2d064cedd46b0478a180eb813d9a2fead063fe2732a7a1dd1c4ecd033c4c3d2a2f578062383d82c481e018343344d56d7ddcbb0515bdd53d852d41
6
+ metadata.gz: b4fbc019daa8451fc99a629ca45649cd476f8e39cd1dcc9eefcce6742bc09c155f5413787a41715dd4cba910b159a6d204f09d1339bda4fb3a4be9de50d129d5
7
+ data.tar.gz: 2ece8e323ed461c95ad46b1fd8474ecc7905ea0afa68e7c9394ae65a955bec2cb0d8fb9536b794bedf35d95760c0b2c4b5a99415716b13ee98ec979a61a95050
@@ -64,6 +64,6 @@ require_relative 'aws-sdk-iam/customizations'
64
64
  # @service
65
65
  module Aws::IAM
66
66
 
67
- GEM_VERSION = '1.25.0'
67
+ GEM_VERSION = '1.26.0'
68
68
 
69
69
  end
@@ -1474,7 +1474,7 @@ module Aws::IAM
1474
1474
  # The trust relationship policy document that grants an entity
1475
1475
  # permission to assume the role.
1476
1476
  #
1477
- # in IAM, you must provide a JSON policy that has been converted to a
1477
+ # In IAM, you must provide a JSON policy that has been converted to a
1478
1478
  # string. However, for AWS CloudFormation templates formatted in YAML,
1479
1479
  # you can provide the policy in JSON or YAML format. AWS CloudFormation
1480
1480
  # always converts a YAML policy to JSON format before submitting it to
@@ -3492,12 +3492,198 @@ module Aws::IAM
3492
3492
  req.send_request(options)
3493
3493
  end
3494
3494
 
3495
- # Generates a request for a report that includes details about when an
3496
- # IAM resource (user, group, role, or policy) was last used in an
3497
- # attempt to access AWS services. Recent activity usually appears within
3498
- # four hours. IAM reports activity for the last 365 days, or less if
3499
- # your Region began supporting this feature within the last year. For
3500
- # more information, see [Regions Where Data Is Tracked][1].
3495
+ # Generates a report for service last accessed data for AWS
3496
+ # Organizations. You can generate a report for any entities
3497
+ # (organization root, organizational unit, or account) or policies in
3498
+ # your organization.
3499
+ #
3500
+ # To call this operation, you must be signed in using your AWS
3501
+ # Organizations master account credentials. You can use your long-term
3502
+ # IAM user or root user credentials, or temporary credentials from
3503
+ # assuming an IAM role. SCPs must be enabled for your organization root.
3504
+ # You must have the required IAM and AWS Organizations permissions. For
3505
+ # more information, see [Refining Permissions Using Service Last
3506
+ # Accessed Data][1] in the *IAM User Guide*.
3507
+ #
3508
+ # You can generate a service last accessed data report for entities by
3509
+ # specifying only the entity's path. This data includes a list of
3510
+ # services that are allowed by any service control policies (SCPs) that
3511
+ # apply to the entity.
3512
+ #
3513
+ # You can generate a service last accessed data report for a policy by
3514
+ # specifying an entity's path and an optional AWS Organizations policy
3515
+ # ID. This data includes a list of services that are allowed by the
3516
+ # specified SCP.
3517
+ #
3518
+ # For each service in both report types, the data includes the most
3519
+ # recent account activity that the policy allows to account principals
3520
+ # in the entity or the entity's children. For important information
3521
+ # about the data, reporting period, permissions required,
3522
+ # troubleshooting, and supported Regions see [Reducing Permissions Using
3523
+ # Service Last Accessed Data][1] in the *IAM User Guide*.
3524
+ #
3525
+ # The data includes all attempts to access AWS, not just the successful
3526
+ # ones. This includes all attempts that were made using the AWS
3527
+ # Management Console, the AWS API through any of the SDKs, or any of the
3528
+ # command line tools. An unexpected entry in the service last accessed
3529
+ # data does not mean that an account has been compromised, because the
3530
+ # request might have been denied. Refer to your CloudTrail logs as the
3531
+ # authoritative source for information about all API calls and whether
3532
+ # they were successful or denied access. For more information,
3533
+ # see [Logging IAM Events with CloudTrail][2] in the *IAM User Guide*.
3534
+ #
3535
+ # This operation returns a `JobId`. Use this parameter in the `
3536
+ # GetOrganizationsAccessReport ` operation to check the status of the
3537
+ # report generation. To check the status of this request, use the
3538
+ # `JobId` parameter in the ` GetOrganizationsAccessReport ` operation
3539
+ # and test the `JobStatus` response parameter. When the job is complete,
3540
+ # you can retrieve the report.
3541
+ #
3542
+ # To generate a service last accessed data report for entities, specify
3543
+ # an entity path without specifying the optional AWS Organizations
3544
+ # policy ID. The type of entity that you specify determines the data
3545
+ # returned in the report.
3546
+ #
3547
+ # * **Root** – When you specify the organizations root as the entity,
3548
+ # the resulting report lists all of the services allowed by SCPs that
3549
+ # are attached to your root. For each service, the report includes
3550
+ # data for all accounts in your organization except the master
3551
+ # account, because the master account is not limited by SCPs.
3552
+ #
3553
+ # * **OU** – When you specify an organizational unit (OU) as the entity,
3554
+ # the resulting report lists all of the services allowed by SCPs that
3555
+ # are attached to the OU and its parents. For each service, the report
3556
+ # includes data for all accounts in the OU or its children. This data
3557
+ # excludes the master account, because the master account is not
3558
+ # limited by SCPs.
3559
+ #
3560
+ # * **Master account** – When you specify the master account, the
3561
+ # resulting report lists all AWS services, because the master account
3562
+ # is not limited by SCPs. For each service, the report includes data
3563
+ # for only the master account.
3564
+ #
3565
+ # * **Account** – When you specify another account as the entity, the
3566
+ # resulting report lists all of the services allowed by SCPs that are
3567
+ # attached to the account and its parents. For each service, the
3568
+ # report includes data for only the specified account.
3569
+ #
3570
+ # To generate a service last accessed data report for policies, specify
3571
+ # an entity path and the optional AWS Organizations policy ID. The type
3572
+ # of entity that you specify determines the data returned for each
3573
+ # service.
3574
+ #
3575
+ # * **Root** – When you specify the root entity and a policy ID, the
3576
+ # resulting report lists all of the services that are allowed by the
3577
+ # specified SCP. For each service, the report includes data for all
3578
+ # accounts in your organization to which the SCP applies. This data
3579
+ # excludes the master account, because the master account is not
3580
+ # limited by SCPs. If the SCP is not attached to any entities in the
3581
+ # organization, then the report will return a list of services with no
3582
+ # data.
3583
+ #
3584
+ # * **OU** – When you specify an OU entity and a policy ID, the
3585
+ # resulting report lists all of the services that are allowed by the
3586
+ # specified SCP. For each service, the report includes data for all
3587
+ # accounts in the OU or its children to which the SCP applies. This
3588
+ # means that other accounts outside the OU that are affected by the
3589
+ # SCP might not be included in the data. This data excludes the master
3590
+ # account, because the master account is not limited by SCPs. If the
3591
+ # SCP is not attached to the OU or one of its children, the report
3592
+ # will return a list of services with no data.
3593
+ #
3594
+ # * **Master account** – When you specify the master account, the
3595
+ # resulting report lists all AWS services, because the master account
3596
+ # is not limited by SCPs. If you specify a policy ID in the CLI or
3597
+ # API, the policy is ignored. For each service, the report includes
3598
+ # data for only the master account.
3599
+ #
3600
+ # * **Account** – When you specify another account entity and a policy
3601
+ # ID, the resulting report lists all of the services that are allowed
3602
+ # by the specified SCP. For each service, the report includes data for
3603
+ # only the specified account. This means that other accounts in the
3604
+ # organization that are affected by the SCP might not be included in
3605
+ # the data. If the SCP is not attached to the account, the report will
3606
+ # return a list of services with no data.
3607
+ #
3608
+ # <note markdown="1"> Service last accessed data does not use other policy types when
3609
+ # determining whether a principal could access a service. These other
3610
+ # policy types include identity-based policies, resource-based policies,
3611
+ # access control lists, IAM permissions boundaries, and STS assume role
3612
+ # policies. It only applies SCP logic. For more about the evaluation of
3613
+ # policy types, see [Evaluating Policies][3] in the *IAM User Guide*.
3614
+ #
3615
+ # </note>
3616
+ #
3617
+ # For more information about service last accessed data, see [Reducing
3618
+ # Policy Scope by Viewing User Activity][1] in the *IAM User Guide*.
3619
+ #
3620
+ #
3621
+ #
3622
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html
3623
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/cloudtrail-integration.html
3624
+ # [3]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_evaluation-logic.html#policy-eval-basics
3625
+ #
3626
+ # @option params [required, String] :entity_path
3627
+ # The path of the AWS Organizations entity (root, OU, or account). You
3628
+ # can build an entity path using the known structure of your
3629
+ # organization. For example, assume that your account ID is
3630
+ # `123456789012` and its parent OU ID is `ou-rge0-awsabcde`. The
3631
+ # organization root ID is `r-f6g7h8i9j0example` and your organization ID
3632
+ # is `o-a1b2c3d4e5`. Your entity path is
3633
+ # `o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012`.
3634
+ #
3635
+ # @option params [String] :organizations_policy_id
3636
+ # The identifier of the AWS Organizations service control policy (SCP).
3637
+ # This parameter is optional.
3638
+ #
3639
+ # This ID is used to generate information about when an account
3640
+ # principal that is limited by the SCP attempted to access an AWS
3641
+ # service.
3642
+ #
3643
+ # @return [Types::GenerateOrganizationsAccessReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3644
+ #
3645
+ # * {Types::GenerateOrganizationsAccessReportResponse#job_id #job_id} => String
3646
+ #
3647
+ #
3648
+ # @example Example: To generate a service last accessed data report for an organizational unit
3649
+ #
3650
+ # # The following operation generates a report for the organizational unit ou-rge0-awexample
3651
+ #
3652
+ # resp = client.generate_organizations_access_report({
3653
+ # entity_path: "o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-1a2b3c-k9l8m7n6o5example",
3654
+ # })
3655
+ #
3656
+ # resp.to_h outputs the following:
3657
+ # {
3658
+ # job_id: "examplea-1234-b567-cde8-90fg123abcd4",
3659
+ # }
3660
+ #
3661
+ # @example Request syntax with placeholder values
3662
+ #
3663
+ # resp = client.generate_organizations_access_report({
3664
+ # entity_path: "organizationsEntityPathType", # required
3665
+ # organizations_policy_id: "organizationsPolicyIdType",
3666
+ # })
3667
+ #
3668
+ # @example Response structure
3669
+ #
3670
+ # resp.job_id #=> String
3671
+ #
3672
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateOrganizationsAccessReport AWS API Documentation
3673
+ #
3674
+ # @overload generate_organizations_access_report(params = {})
3675
+ # @param [Hash] params ({})
3676
+ def generate_organizations_access_report(params = {}, options = {})
3677
+ req = build_request(:generate_organizations_access_report, params)
3678
+ req.send_request(options)
3679
+ end
3680
+
3681
+ # Generates a report that includes details about when an IAM resource
3682
+ # (user, group, role, or policy) was last used in an attempt to access
3683
+ # AWS services. Recent activity usually appears within four hours. IAM
3684
+ # reports activity for the last 365 days, or less if your Region began
3685
+ # supporting this feature within the last year. For more information,
3686
+ # see [Regions Where Data Is Tracked][1].
3501
3687
  #
3502
3688
  # The service last accessed data includes all attempts to access an AWS
3503
3689
  # API, not just the successful ones. This includes all attempts that
@@ -4449,6 +4635,151 @@ module Aws::IAM
4449
4635
  req.send_request(options)
4450
4636
  end
4451
4637
 
4638
+ # Retrieves the service last accessed data report for AWS Organizations
4639
+ # that was previously generated using the `
4640
+ # GenerateOrganizationsAccessReport ` operation. This operation
4641
+ # retrieves the status of your report job and the report contents.
4642
+ #
4643
+ # Depending on the parameters that you passed when you generated the
4644
+ # report, the data returned could include different information. For
4645
+ # details, see GenerateOrganizationsAccessReport.
4646
+ #
4647
+ # To call this operation, you must be signed in to the master account in
4648
+ # your organization. SCPs must be enabled for your organization root.
4649
+ # You must have permissions to perform this operation. For more
4650
+ # information, see [Refining Permissions Using Service Last Accessed
4651
+ # Data][1] in the *IAM User Guide*.
4652
+ #
4653
+ # For each service that principals in an account (root users, IAM users,
4654
+ # or IAM roles) could access using SCPs, the operation returns details
4655
+ # about the most recent access attempt. If there was no attempt, the
4656
+ # service is listed without details about the most recent attempt to
4657
+ # access the service. If the operation fails, it returns the reason that
4658
+ # it failed.
4659
+ #
4660
+ # By default, the list is sorted by service namespace.
4661
+ #
4662
+ #
4663
+ #
4664
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html
4665
+ #
4666
+ # @option params [required, String] :job_id
4667
+ # The identifier of the request generated by the
4668
+ # GenerateOrganizationsAccessReport operation.
4669
+ #
4670
+ # @option params [Integer] :max_items
4671
+ # Use this only when paginating results to indicate the maximum number
4672
+ # of items you want in the response. If additional items exist beyond
4673
+ # the maximum you specify, the `IsTruncated` response element is `true`.
4674
+ #
4675
+ # If you do not include this parameter, the number of items defaults to
4676
+ # 100. Note that IAM might return fewer results, even when there are
4677
+ # more results available. In that case, the `IsTruncated` response
4678
+ # element returns `true`, and `Marker` contains a value to include in
4679
+ # the subsequent call that tells the service where to continue from.
4680
+ #
4681
+ # @option params [String] :marker
4682
+ # Use this parameter only when paginating results and only after you
4683
+ # receive a response indicating that the results are truncated. Set it
4684
+ # to the value of the `Marker` element in the response that you received
4685
+ # to indicate where the next call should start.
4686
+ #
4687
+ # @option params [String] :sort_key
4688
+ # The key that is used to sort the results. If you choose the namespace
4689
+ # key, the results are returned in alphabetical order. If you choose the
4690
+ # time key, the results are sorted numerically by the date and time.
4691
+ #
4692
+ # @return [Types::GetOrganizationsAccessReportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4693
+ #
4694
+ # * {Types::GetOrganizationsAccessReportResponse#job_status #job_status} => String
4695
+ # * {Types::GetOrganizationsAccessReportResponse#job_creation_date #job_creation_date} => Time
4696
+ # * {Types::GetOrganizationsAccessReportResponse#job_completion_date #job_completion_date} => Time
4697
+ # * {Types::GetOrganizationsAccessReportResponse#number_of_services_accessible #number_of_services_accessible} => Integer
4698
+ # * {Types::GetOrganizationsAccessReportResponse#number_of_services_not_accessed #number_of_services_not_accessed} => Integer
4699
+ # * {Types::GetOrganizationsAccessReportResponse#access_details #access_details} => Array&lt;Types::AccessDetail&gt;
4700
+ # * {Types::GetOrganizationsAccessReportResponse#is_truncated #is_truncated} => Boolean
4701
+ # * {Types::GetOrganizationsAccessReportResponse#marker #marker} => String
4702
+ # * {Types::GetOrganizationsAccessReportResponse#error_details #error_details} => Types::ErrorDetails
4703
+ #
4704
+ #
4705
+ # @example Example: To get details from a previously generated organizational unit report
4706
+ #
4707
+ # # The following operation gets details about the report with the job ID: examplea-1234-b567-cde8-90fg123abcd4
4708
+ #
4709
+ # resp = client.get_organizations_access_report({
4710
+ # job_id: "examplea-1234-b567-cde8-90fg123abcd4",
4711
+ # })
4712
+ #
4713
+ # resp.to_h outputs the following:
4714
+ # {
4715
+ # access_details: [
4716
+ # {
4717
+ # entity_path: "o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-1a2b3c-k9l8m7n6o5example/111122223333",
4718
+ # last_authenticated_time: Time.parse("2019-05-25T16:29:52Z"),
4719
+ # region: "us-east-1",
4720
+ # service_name: "Amazon DynamoDB",
4721
+ # service_namespace: "dynamodb",
4722
+ # total_authenticated_entities: 2,
4723
+ # },
4724
+ # {
4725
+ # entity_path: "o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-1a2b3c-k9l8m7n6o5example/123456789012",
4726
+ # last_authenticated_time: Time.parse("2019-06-15T13:12:06Z"),
4727
+ # region: "us-east-1",
4728
+ # service_name: "AWS Identity and Access Management",
4729
+ # service_namespace: "iam",
4730
+ # total_authenticated_entities: 4,
4731
+ # },
4732
+ # {
4733
+ # service_name: "Amazon Simple Storage Service",
4734
+ # service_namespace: "s3",
4735
+ # total_authenticated_entities: 0,
4736
+ # },
4737
+ # ],
4738
+ # is_truncated: false,
4739
+ # job_completion_date: Time.parse("2019-06-18T19:47:35.241Z"),
4740
+ # job_creation_date: Time.parse("2019-06-18T19:47:31.466Z"),
4741
+ # job_status: "COMPLETED",
4742
+ # number_of_services_accessible: 3,
4743
+ # number_of_services_not_accessed: 1,
4744
+ # }
4745
+ #
4746
+ # @example Request syntax with placeholder values
4747
+ #
4748
+ # resp = client.get_organizations_access_report({
4749
+ # job_id: "jobIDType", # required
4750
+ # max_items: 1,
4751
+ # marker: "markerType",
4752
+ # sort_key: "SERVICE_NAMESPACE_ASCENDING", # accepts SERVICE_NAMESPACE_ASCENDING, SERVICE_NAMESPACE_DESCENDING, LAST_AUTHENTICATED_TIME_ASCENDING, LAST_AUTHENTICATED_TIME_DESCENDING
4753
+ # })
4754
+ #
4755
+ # @example Response structure
4756
+ #
4757
+ # resp.job_status #=> String, one of "IN_PROGRESS", "COMPLETED", "FAILED"
4758
+ # resp.job_creation_date #=> Time
4759
+ # resp.job_completion_date #=> Time
4760
+ # resp.number_of_services_accessible #=> Integer
4761
+ # resp.number_of_services_not_accessed #=> Integer
4762
+ # resp.access_details #=> Array
4763
+ # resp.access_details[0].service_name #=> String
4764
+ # resp.access_details[0].service_namespace #=> String
4765
+ # resp.access_details[0].region #=> String
4766
+ # resp.access_details[0].entity_path #=> String
4767
+ # resp.access_details[0].last_authenticated_time #=> Time
4768
+ # resp.access_details[0].total_authenticated_entities #=> Integer
4769
+ # resp.is_truncated #=> Boolean
4770
+ # resp.marker #=> String
4771
+ # resp.error_details.message #=> String
4772
+ # resp.error_details.code #=> String
4773
+ #
4774
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOrganizationsAccessReport AWS API Documentation
4775
+ #
4776
+ # @overload get_organizations_access_report(params = {})
4777
+ # @param [Hash] params ({})
4778
+ def get_organizations_access_report(params = {}, options = {})
4779
+ req = build_request(:get_organizations_access_report, params)
4780
+ req.send_request(options)
4781
+ end
4782
+
4452
4783
  # Retrieves information about the specified managed policy, including
4453
4784
  # the policy's default version and the total number of IAM users,
4454
4785
  # groups, and roles to which the policy is attached. To retrieve the
@@ -4933,11 +5264,13 @@ module Aws::IAM
4933
5264
  req.send_request(options)
4934
5265
  end
4935
5266
 
4936
- # After you generate a user, group, role, or policy report using the
4937
- # `GenerateServiceLastAccessedDetails` operation, you can use the
4938
- # `JobId` parameter in `GetServiceLastAccessedDetails`. This operation
4939
- # retrieves the status of your report job and a list of AWS services
4940
- # that the resource (user, group, role, or managed policy) can access.
5267
+ # Retrieves a service last accessed report that was created using the
5268
+ # `GenerateServiceLastAccessedDetails` operation. You can use the
5269
+ # `JobId` parameter in `GetServiceLastAccessedDetails` to retrieve the
5270
+ # status of your report job. When the report is complete, you can
5271
+ # retrieve the generated report. The report includes a list of AWS
5272
+ # services that the resource (user, group, role, or managed policy) can
5273
+ # access.
4941
5274
  #
4942
5275
  # <note markdown="1"> Service last accessed data does not use other policy types when
4943
5276
  # determining whether a resource could access a service. These other
@@ -7926,7 +8259,14 @@ module Aws::IAM
7926
8259
  # @option params [required, String] :group_name
7927
8260
  # The name of the group to associate the policy with.
7928
8261
  #
7929
- # &amp;regex-name;.
8262
+ # This parameter allows (through its [regex pattern][1]) a string of
8263
+ # characters consisting of upper and lowercase alphanumeric characters
8264
+ # with no spaces. You can also include any of the following characters:
8265
+ # \_+=,.@-.
8266
+ #
8267
+ #
8268
+ #
8269
+ # [1]: http://wikipedia.org/wiki/regex
7930
8270
  #
7931
8271
  # @option params [required, String] :policy_name
7932
8272
  # The name of the policy document.
@@ -9131,7 +9471,7 @@ module Aws::IAM
9131
9471
  # @option params [Array<Types::ContextEntry>] :context_entries
9132
9472
  # A list of context keys and corresponding values for the simulation to
9133
9473
  # use. Whenever a context key is evaluated in one of the simulated IAM
9134
- # permission policies, the corresponding value is supplied.
9474
+ # permissions policies, the corresponding value is supplied.
9135
9475
  #
9136
9476
  # @option params [String] :resource_handling_option
9137
9477
  # Specifies the type of simulation to run. Different API operations that
@@ -10970,7 +11310,7 @@ module Aws::IAM
10970
11310
  params: params,
10971
11311
  config: config)
10972
11312
  context[:gem_name] = 'aws-sdk-iam'
10973
- context[:gem_version] = '1.25.0'
11313
+ context[:gem_version] = '1.26.0'
10974
11314
  Seahorse::Client::Request.new(handlers, context)
10975
11315
  end
10976
11316
 
@@ -11,6 +11,8 @@ module Aws::IAM
11
11
 
12
12
  include Seahorse::Model
13
13
 
14
+ AccessDetail = Shapes::StructureShape.new(name: 'AccessDetail')
15
+ AccessDetails = Shapes::ListShape.new(name: 'AccessDetails')
14
16
  AccessKey = Shapes::StructureShape.new(name: 'AccessKey')
15
17
  AccessKeyLastUsed = Shapes::StructureShape.new(name: 'AccessKeyLastUsed')
16
18
  AccessKeyMetadata = Shapes::StructureShape.new(name: 'AccessKeyMetadata')
@@ -112,6 +114,8 @@ module Aws::IAM
112
114
  EvaluationResult = Shapes::StructureShape.new(name: 'EvaluationResult')
113
115
  EvaluationResultsListType = Shapes::ListShape.new(name: 'EvaluationResultsListType')
114
116
  GenerateCredentialReportResponse = Shapes::StructureShape.new(name: 'GenerateCredentialReportResponse')
117
+ GenerateOrganizationsAccessReportRequest = Shapes::StructureShape.new(name: 'GenerateOrganizationsAccessReportRequest')
118
+ GenerateOrganizationsAccessReportResponse = Shapes::StructureShape.new(name: 'GenerateOrganizationsAccessReportResponse')
115
119
  GenerateServiceLastAccessedDetailsRequest = Shapes::StructureShape.new(name: 'GenerateServiceLastAccessedDetailsRequest')
116
120
  GenerateServiceLastAccessedDetailsResponse = Shapes::StructureShape.new(name: 'GenerateServiceLastAccessedDetailsResponse')
117
121
  GetAccessKeyLastUsedRequest = Shapes::StructureShape.new(name: 'GetAccessKeyLastUsedRequest')
@@ -134,6 +138,8 @@ module Aws::IAM
134
138
  GetLoginProfileResponse = Shapes::StructureShape.new(name: 'GetLoginProfileResponse')
135
139
  GetOpenIDConnectProviderRequest = Shapes::StructureShape.new(name: 'GetOpenIDConnectProviderRequest')
136
140
  GetOpenIDConnectProviderResponse = Shapes::StructureShape.new(name: 'GetOpenIDConnectProviderResponse')
141
+ GetOrganizationsAccessReportRequest = Shapes::StructureShape.new(name: 'GetOrganizationsAccessReportRequest')
142
+ GetOrganizationsAccessReportResponse = Shapes::StructureShape.new(name: 'GetOrganizationsAccessReportResponse')
137
143
  GetPolicyRequest = Shapes::StructureShape.new(name: 'GetPolicyRequest')
138
144
  GetPolicyResponse = Shapes::StructureShape.new(name: 'GetPolicyResponse')
139
145
  GetPolicyVersionRequest = Shapes::StructureShape.new(name: 'GetPolicyVersionRequest')
@@ -269,6 +275,7 @@ module Aws::IAM
269
275
  RemoveUserFromGroupRequest = Shapes::StructureShape.new(name: 'RemoveUserFromGroupRequest')
270
276
  ReportContentType = Shapes::BlobShape.new(name: 'ReportContentType')
271
277
  ReportFormatType = Shapes::StringShape.new(name: 'ReportFormatType')
278
+ ReportGenerationLimitExceededException = Shapes::StructureShape.new(name: 'ReportGenerationLimitExceededException')
272
279
  ReportStateDescriptionType = Shapes::StringShape.new(name: 'ReportStateDescriptionType')
273
280
  ReportStateType = Shapes::StringShape.new(name: 'ReportStateType')
274
281
  ResetServiceSpecificCredentialRequest = Shapes::StructureShape.new(name: 'ResetServiceSpecificCredentialRequest')
@@ -401,6 +408,8 @@ module Aws::IAM
401
408
  mfaDeviceListType = Shapes::ListShape.new(name: 'mfaDeviceListType')
402
409
  minimumPasswordLengthType = Shapes::IntegerShape.new(name: 'minimumPasswordLengthType')
403
410
  noSuchEntityMessage = Shapes::StringShape.new(name: 'noSuchEntityMessage')
411
+ organizationsEntityPathType = Shapes::StringShape.new(name: 'organizationsEntityPathType')
412
+ organizationsPolicyIdType = Shapes::StringShape.new(name: 'organizationsPolicyIdType')
404
413
  passwordPolicyViolationMessage = Shapes::StringShape.new(name: 'passwordPolicyViolationMessage')
405
414
  passwordReusePreventionType = Shapes::IntegerShape.new(name: 'passwordReusePreventionType')
406
415
  passwordType = Shapes::StringShape.new(name: 'passwordType')
@@ -425,6 +434,7 @@ module Aws::IAM
425
434
  publicKeyFingerprintType = Shapes::StringShape.new(name: 'publicKeyFingerprintType')
426
435
  publicKeyIdType = Shapes::StringShape.new(name: 'publicKeyIdType')
427
436
  publicKeyMaterialType = Shapes::StringShape.new(name: 'publicKeyMaterialType')
437
+ reportGenerationLimitExceededMessage = Shapes::StringShape.new(name: 'reportGenerationLimitExceededMessage')
428
438
  responseMarkerType = Shapes::StringShape.new(name: 'responseMarkerType')
429
439
  roleDescriptionType = Shapes::StringShape.new(name: 'roleDescriptionType')
430
440
  roleDetailListType = Shapes::ListShape.new(name: 'roleDetailListType')
@@ -443,6 +453,7 @@ module Aws::IAM
443
453
  servicePassword = Shapes::StringShape.new(name: 'servicePassword')
444
454
  serviceSpecificCredentialId = Shapes::StringShape.new(name: 'serviceSpecificCredentialId')
445
455
  serviceUserName = Shapes::StringShape.new(name: 'serviceUserName')
456
+ sortKeyType = Shapes::StringShape.new(name: 'sortKeyType')
446
457
  statusType = Shapes::StringShape.new(name: 'statusType')
447
458
  stringType = Shapes::StringShape.new(name: 'stringType')
448
459
  summaryKeyType = Shapes::StringShape.new(name: 'summaryKeyType')
@@ -462,6 +473,16 @@ module Aws::IAM
462
473
  virtualMFADeviceListType = Shapes::ListShape.new(name: 'virtualMFADeviceListType')
463
474
  virtualMFADeviceName = Shapes::StringShape.new(name: 'virtualMFADeviceName')
464
475
 
476
+ AccessDetail.add_member(:service_name, Shapes::ShapeRef.new(shape: serviceNameType, required: true, location_name: "ServiceName"))
477
+ AccessDetail.add_member(:service_namespace, Shapes::ShapeRef.new(shape: serviceNamespaceType, required: true, location_name: "ServiceNamespace"))
478
+ AccessDetail.add_member(:region, Shapes::ShapeRef.new(shape: stringType, location_name: "Region"))
479
+ AccessDetail.add_member(:entity_path, Shapes::ShapeRef.new(shape: organizationsEntityPathType, location_name: "EntityPath"))
480
+ AccessDetail.add_member(:last_authenticated_time, Shapes::ShapeRef.new(shape: dateType, location_name: "LastAuthenticatedTime"))
481
+ AccessDetail.add_member(:total_authenticated_entities, Shapes::ShapeRef.new(shape: integerType, location_name: "TotalAuthenticatedEntities"))
482
+ AccessDetail.struct_class = Types::AccessDetail
483
+
484
+ AccessDetails.member = Shapes::ShapeRef.new(shape: AccessDetail)
485
+
465
486
  AccessKey.add_member(:user_name, Shapes::ShapeRef.new(shape: userNameType, required: true, location_name: "UserName"))
466
487
  AccessKey.add_member(:access_key_id, Shapes::ShapeRef.new(shape: accessKeyIdType, required: true, location_name: "AccessKeyId"))
467
488
  AccessKey.add_member(:status, Shapes::ShapeRef.new(shape: statusType, required: true, location_name: "Status"))
@@ -801,6 +822,13 @@ module Aws::IAM
801
822
  GenerateCredentialReportResponse.add_member(:description, Shapes::ShapeRef.new(shape: ReportStateDescriptionType, location_name: "Description"))
802
823
  GenerateCredentialReportResponse.struct_class = Types::GenerateCredentialReportResponse
803
824
 
825
+ GenerateOrganizationsAccessReportRequest.add_member(:entity_path, Shapes::ShapeRef.new(shape: organizationsEntityPathType, required: true, location_name: "EntityPath"))
826
+ GenerateOrganizationsAccessReportRequest.add_member(:organizations_policy_id, Shapes::ShapeRef.new(shape: organizationsPolicyIdType, location_name: "OrganizationsPolicyId"))
827
+ GenerateOrganizationsAccessReportRequest.struct_class = Types::GenerateOrganizationsAccessReportRequest
828
+
829
+ GenerateOrganizationsAccessReportResponse.add_member(:job_id, Shapes::ShapeRef.new(shape: jobIDType, location_name: "JobId"))
830
+ GenerateOrganizationsAccessReportResponse.struct_class = Types::GenerateOrganizationsAccessReportResponse
831
+
804
832
  GenerateServiceLastAccessedDetailsRequest.add_member(:arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "Arn"))
805
833
  GenerateServiceLastAccessedDetailsRequest.struct_class = Types::GenerateServiceLastAccessedDetailsRequest
806
834
 
@@ -889,6 +917,23 @@ module Aws::IAM
889
917
  GetOpenIDConnectProviderResponse.add_member(:create_date, Shapes::ShapeRef.new(shape: dateType, location_name: "CreateDate"))
890
918
  GetOpenIDConnectProviderResponse.struct_class = Types::GetOpenIDConnectProviderResponse
891
919
 
920
+ GetOrganizationsAccessReportRequest.add_member(:job_id, Shapes::ShapeRef.new(shape: jobIDType, required: true, location_name: "JobId"))
921
+ GetOrganizationsAccessReportRequest.add_member(:max_items, Shapes::ShapeRef.new(shape: maxItemsType, location_name: "MaxItems"))
922
+ GetOrganizationsAccessReportRequest.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
923
+ GetOrganizationsAccessReportRequest.add_member(:sort_key, Shapes::ShapeRef.new(shape: sortKeyType, location_name: "SortKey"))
924
+ GetOrganizationsAccessReportRequest.struct_class = Types::GetOrganizationsAccessReportRequest
925
+
926
+ GetOrganizationsAccessReportResponse.add_member(:job_status, Shapes::ShapeRef.new(shape: jobStatusType, required: true, location_name: "JobStatus"))
927
+ GetOrganizationsAccessReportResponse.add_member(:job_creation_date, Shapes::ShapeRef.new(shape: dateType, required: true, location_name: "JobCreationDate"))
928
+ GetOrganizationsAccessReportResponse.add_member(:job_completion_date, Shapes::ShapeRef.new(shape: dateType, location_name: "JobCompletionDate"))
929
+ GetOrganizationsAccessReportResponse.add_member(:number_of_services_accessible, Shapes::ShapeRef.new(shape: integerType, location_name: "NumberOfServicesAccessible"))
930
+ GetOrganizationsAccessReportResponse.add_member(:number_of_services_not_accessed, Shapes::ShapeRef.new(shape: integerType, location_name: "NumberOfServicesNotAccessed"))
931
+ GetOrganizationsAccessReportResponse.add_member(:access_details, Shapes::ShapeRef.new(shape: AccessDetails, location_name: "AccessDetails"))
932
+ GetOrganizationsAccessReportResponse.add_member(:is_truncated, Shapes::ShapeRef.new(shape: booleanType, location_name: "IsTruncated"))
933
+ GetOrganizationsAccessReportResponse.add_member(:marker, Shapes::ShapeRef.new(shape: markerType, location_name: "Marker"))
934
+ GetOrganizationsAccessReportResponse.add_member(:error_details, Shapes::ShapeRef.new(shape: ErrorDetails, location_name: "ErrorDetails"))
935
+ GetOrganizationsAccessReportResponse.struct_class = Types::GetOrganizationsAccessReportResponse
936
+
892
937
  GetPolicyRequest.add_member(:policy_arn, Shapes::ShapeRef.new(shape: arnType, required: true, location_name: "PolicyArn"))
893
938
  GetPolicyRequest.struct_class = Types::GetPolicyRequest
894
939
 
@@ -1467,6 +1512,9 @@ module Aws::IAM
1467
1512
  RemoveUserFromGroupRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: existingUserNameType, required: true, location_name: "UserName"))
1468
1513
  RemoveUserFromGroupRequest.struct_class = Types::RemoveUserFromGroupRequest
1469
1514
 
1515
+ ReportGenerationLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: reportGenerationLimitExceededMessage, location_name: "message"))
1516
+ ReportGenerationLimitExceededException.struct_class = Types::ReportGenerationLimitExceededException
1517
+
1470
1518
  ResetServiceSpecificCredentialRequest.add_member(:user_name, Shapes::ShapeRef.new(shape: userNameType, location_name: "UserName"))
1471
1519
  ResetServiceSpecificCredentialRequest.add_member(:service_specific_credential_id, Shapes::ShapeRef.new(shape: serviceSpecificCredentialId, required: true, location_name: "ServiceSpecificCredentialId"))
1472
1520
  ResetServiceSpecificCredentialRequest.struct_class = Types::ResetServiceSpecificCredentialRequest
@@ -2480,6 +2528,15 @@ module Aws::IAM
2480
2528
  o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
2481
2529
  end)
2482
2530
 
2531
+ api.add_operation(:generate_organizations_access_report, Seahorse::Model::Operation.new.tap do |o|
2532
+ o.name = "GenerateOrganizationsAccessReport"
2533
+ o.http_method = "POST"
2534
+ o.http_request_uri = "/"
2535
+ o.input = Shapes::ShapeRef.new(shape: GenerateOrganizationsAccessReportRequest)
2536
+ o.output = Shapes::ShapeRef.new(shape: GenerateOrganizationsAccessReportResponse)
2537
+ o.errors << Shapes::ShapeRef.new(shape: ReportGenerationLimitExceededException)
2538
+ end)
2539
+
2483
2540
  api.add_operation(:generate_service_last_accessed_details, Seahorse::Model::Operation.new.tap do |o|
2484
2541
  o.name = "GenerateServiceLastAccessedDetails"
2485
2542
  o.http_method = "POST"
@@ -2623,6 +2680,15 @@ module Aws::IAM
2623
2680
  o.errors << Shapes::ShapeRef.new(shape: ServiceFailureException)
2624
2681
  end)
2625
2682
 
2683
+ api.add_operation(:get_organizations_access_report, Seahorse::Model::Operation.new.tap do |o|
2684
+ o.name = "GetOrganizationsAccessReport"
2685
+ o.http_method = "POST"
2686
+ o.http_request_uri = "/"
2687
+ o.input = Shapes::ShapeRef.new(shape: GetOrganizationsAccessReportRequest)
2688
+ o.output = Shapes::ShapeRef.new(shape: GetOrganizationsAccessReportResponse)
2689
+ o.errors << Shapes::ShapeRef.new(shape: NoSuchEntityException)
2690
+ end)
2691
+
2626
2692
  api.add_operation(:get_policy, Seahorse::Model::Operation.new.tap do |o|
2627
2693
  o.name = "GetPolicy"
2628
2694
  o.http_method = "POST"
@@ -85,7 +85,7 @@ module Aws::IAM
85
85
  # * A password exists but has not been used since IAM started tracking
86
86
  # this information on October 20, 2014.
87
87
  #
88
- # A null valuedoes not mean that the user *never* had a password. Also,
88
+ # A null value does not mean that the user *never* had a password. Also,
89
89
  # if the user does not currently have a password, but had one in the
90
90
  # past, then this field contains the date and time the most recent
91
91
  # password was used.
@@ -362,6 +362,22 @@ module Aws::IAM
362
362
 
363
363
  end
364
364
 
365
+ class ReportGenerationLimitExceededException < ServiceError
366
+
367
+ # @param [Seahorse::Client::RequestContext] context
368
+ # @param [String] message
369
+ # @param [Aws::IAM::Types::ReportGenerationLimitExceededException] data
370
+ def initialize(context, message, data = Aws::EmptyStructure.new)
371
+ super(context, message, data)
372
+ end
373
+
374
+ # @return [String]
375
+ def message
376
+ @message || @data[:message]
377
+ end
378
+
379
+ end
380
+
365
381
  class ServiceFailureException < ServiceError
366
382
 
367
383
  # @param [Seahorse::Client::RequestContext] context
@@ -375,7 +375,7 @@ module Aws::IAM
375
375
  # The trust relationship policy document that grants an entity
376
376
  # permission to assume the role.
377
377
  #
378
- # in IAM, you must provide a JSON policy that has been converted to a
378
+ # In IAM, you must provide a JSON policy that has been converted to a
379
379
  # string. However, for AWS CloudFormation templates formatted in YAML,
380
380
  # you can provide the policy in JSON or YAML format. AWS CloudFormation
381
381
  # always converts a YAML policy to JSON format before submitting it to
@@ -8,6 +8,94 @@
8
8
  module Aws::IAM
9
9
  module Types
10
10
 
11
+ # An object that contains details about when a principal in the reported
12
+ # AWS Organizations entity last attempted to access an AWS service. A
13
+ # principal can be an IAM user, an IAM role, or the AWS account root
14
+ # user within the reported Organizations entity.
15
+ #
16
+ # This data type is a response element in the
17
+ # GetOrganizationsAccessReport operation.
18
+ #
19
+ # @!attribute [rw] service_name
20
+ # The name of the service in which access was attempted.
21
+ # @return [String]
22
+ #
23
+ # @!attribute [rw] service_namespace
24
+ # The namespace of the service in which access was attempted.
25
+ #
26
+ # To learn the service namespace of a service, go to [Actions,
27
+ # Resources, and Condition Keys for AWS Services][1] in the *IAM User
28
+ # Guide*. Choose the name of the service to view details for that
29
+ # service. In the first paragraph, find the service prefix. For
30
+ # example, `(service prefix: a4b)`. For more information about service
31
+ # namespaces, see [AWS Service Namespaces][2] in the *AWS General
32
+ # Reference*.
33
+ #
34
+ #
35
+ #
36
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_actions-resources-contextkeys.html
37
+ # [2]: https://docs.aws.amazon.com/general/latest/gr/aws-arns-and-namespaces.html#genref-aws-service-namespaces
38
+ # @return [String]
39
+ #
40
+ # @!attribute [rw] region
41
+ # The Region where the last service access attempt occurred.
42
+ #
43
+ # This field is null if no principals in the reported Organizations
44
+ # entity attempted to access the service within the [reporting
45
+ # period][1].
46
+ #
47
+ #
48
+ #
49
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period
50
+ # @return [String]
51
+ #
52
+ # @!attribute [rw] entity_path
53
+ # The path of the Organizations entity (root, organizational unit, or
54
+ # account) from which an authenticated principal last attempted to
55
+ # access the service. AWS does not report unauthenticated requests.
56
+ #
57
+ # This field is null if no principals (IAM users, IAM roles, or root
58
+ # users) in the reported Organizations entity attempted to access the
59
+ # service within the [reporting period][1].
60
+ #
61
+ #
62
+ #
63
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period
64
+ # @return [String]
65
+ #
66
+ # @!attribute [rw] last_authenticated_time
67
+ # The date and time, in [ISO 8601 date-time format][1], when an
68
+ # authenticated principal most recently attempted to access the
69
+ # service. AWS does not report unauthenticated requests.
70
+ #
71
+ # This field is null if no principals in the reported Organizations
72
+ # entity attempted to access the service within the [reporting
73
+ # period][2].
74
+ #
75
+ #
76
+ #
77
+ # [1]: http://www.iso.org/iso/iso8601
78
+ # [2]: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_access-advisor.html#service-last-accessed-reporting-period
79
+ # @return [Time]
80
+ #
81
+ # @!attribute [rw] total_authenticated_entities
82
+ # The number of accounts with authenticated principals (root users,
83
+ # IAM users, and IAM roles) that attempted to access the service in
84
+ # the reporting period.
85
+ # @return [Integer]
86
+ #
87
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/AccessDetail AWS API Documentation
88
+ #
89
+ class AccessDetail < Struct.new(
90
+ :service_name,
91
+ :service_namespace,
92
+ :region,
93
+ :entity_path,
94
+ :last_authenticated_time,
95
+ :total_authenticated_entities)
96
+ include Aws::Structure
97
+ end
98
+
11
99
  # Contains information about an AWS access key.
12
100
  #
13
101
  # This data type is used as a response element in the CreateAccessKey
@@ -68,7 +156,7 @@ module Aws::IAM
68
156
  # * An access key exists but has not been used since IAM began
69
157
  # tracking this information.
70
158
  #
71
- # * There is no sign-in data associated with the user
159
+ # * There is no sign-in data associated with the user.
72
160
  #
73
161
  #
74
162
  #
@@ -85,11 +173,11 @@ module Aws::IAM
85
173
  # * An access key exists but has not been used since IAM started
86
174
  # tracking this information.
87
175
  #
88
- # * There is no sign-in data associated with the user
176
+ # * There is no sign-in data associated with the user.
89
177
  # @return [String]
90
178
  #
91
179
  # @!attribute [rw] region
92
- # The AWS region where this access key was most recently used. The
180
+ # The AWS Region where this access key was most recently used. The
93
181
  # value for this field is "N/A" in the following situations:
94
182
  #
95
183
  # * The user does not have an access key.
@@ -97,9 +185,9 @@ module Aws::IAM
97
185
  # * An access key exists but has not been used since IAM began
98
186
  # tracking this information.
99
187
  #
100
- # * There is no sign-in data associated with the user
188
+ # * There is no sign-in data associated with the user.
101
189
  #
102
- # For more information about AWS regions, see [Regions and
190
+ # For more information about AWS Regions, see [Regions and
103
191
  # Endpoints][1] in the Amazon Web Services General Reference.
104
192
  #
105
193
  #
@@ -1134,7 +1222,7 @@ module Aws::IAM
1134
1222
  # The trust relationship policy document that grants an entity
1135
1223
  # permission to assume the role.
1136
1224
  #
1137
- # in IAM, you must provide a JSON policy that has been converted to a
1225
+ # In IAM, you must provide a JSON policy that has been converted to a
1138
1226
  # string. However, for AWS CloudFormation templates formatted in YAML,
1139
1227
  # you can provide the policy in JSON or YAML format. AWS
1140
1228
  # CloudFormation always converts a YAML policy to JSON format before
@@ -2375,7 +2463,7 @@ module Aws::IAM
2375
2463
  # resources that were used by the role have not been deleted from the
2376
2464
  # linked service, the role can't be deleted. This parameter includes
2377
2465
  # a list of the resources that are associated with the role and the
2378
- # region in which the resources are being used.
2466
+ # Region in which the resources are being used.
2379
2467
  # @return [Array<Types::RoleUsageType>]
2380
2468
  #
2381
2469
  # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/DeletionTaskFailureReasonType AWS API Documentation
@@ -2730,8 +2818,8 @@ module Aws::IAM
2730
2818
  # Contains information about the reason that the operation failed.
2731
2819
  #
2732
2820
  # This data type is used as a response element in the
2733
- # GetServiceLastAccessedDetails operation and the
2734
- # GetServiceLastAccessedDetailsWithEntities operation.
2821
+ # GetOrganizationsAccessReport, GetServiceLastAccessedDetails, and
2822
+ # GetServiceLastAccessedDetailsWithEntities operations.
2735
2823
  #
2736
2824
  # @!attribute [rw] message
2737
2825
  # Detailed information about the reason that the operation failed.
@@ -2771,8 +2859,8 @@ module Aws::IAM
2771
2859
  # A list of the statements in the input policies that determine the
2772
2860
  # result for this scenario. Remember that even if multiple statements
2773
2861
  # allow the operation on the resource, if only one statement denies
2774
- # that operation, then the explicit deny overrides any allow.
2775
- # Inaddition, the deny statement is the only entry included in the
2862
+ # that operation, then the explicit deny overrides any allow. In
2863
+ # addition, the deny statement is the only entry included in the
2776
2864
  # result.
2777
2865
  # @return [Array<Types::Statement>]
2778
2866
  #
@@ -2788,9 +2876,9 @@ module Aws::IAM
2788
2876
  # @return [Array<String>]
2789
2877
  #
2790
2878
  # @!attribute [rw] organizations_decision_detail
2791
- # A structure that details how AWS Organizations and its service
2792
- # control policies affect the results of the simulation. Only applies
2793
- # if the simulated user's account is part of an organization.
2879
+ # A structure that details how Organizations and its service control
2880
+ # policies affect the results of the simulation. Only applies if the
2881
+ # simulated user's account is part of an organization.
2794
2882
  # @return [Types::OrganizationsDecisionDetail]
2795
2883
  #
2796
2884
  # @!attribute [rw] eval_decision_details
@@ -2845,6 +2933,53 @@ module Aws::IAM
2845
2933
  include Aws::Structure
2846
2934
  end
2847
2935
 
2936
+ # @note When making an API call, you may pass GenerateOrganizationsAccessReportRequest
2937
+ # data as a hash:
2938
+ #
2939
+ # {
2940
+ # entity_path: "organizationsEntityPathType", # required
2941
+ # organizations_policy_id: "organizationsPolicyIdType",
2942
+ # }
2943
+ #
2944
+ # @!attribute [rw] entity_path
2945
+ # The path of the AWS Organizations entity (root, OU, or account). You
2946
+ # can build an entity path using the known structure of your
2947
+ # organization. For example, assume that your account ID is
2948
+ # `123456789012` and its parent OU ID is `ou-rge0-awsabcde`. The
2949
+ # organization root ID is `r-f6g7h8i9j0example` and your organization
2950
+ # ID is `o-a1b2c3d4e5`. Your entity path is
2951
+ # `o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012`.
2952
+ # @return [String]
2953
+ #
2954
+ # @!attribute [rw] organizations_policy_id
2955
+ # The identifier of the AWS Organizations service control policy
2956
+ # (SCP). This parameter is optional.
2957
+ #
2958
+ # This ID is used to generate information about when an account
2959
+ # principal that is limited by the SCP attempted to access an AWS
2960
+ # service.
2961
+ # @return [String]
2962
+ #
2963
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateOrganizationsAccessReportRequest AWS API Documentation
2964
+ #
2965
+ class GenerateOrganizationsAccessReportRequest < Struct.new(
2966
+ :entity_path,
2967
+ :organizations_policy_id)
2968
+ include Aws::Structure
2969
+ end
2970
+
2971
+ # @!attribute [rw] job_id
2972
+ # The job identifier that you can use in the
2973
+ # GetOrganizationsAccessReport operation.
2974
+ # @return [String]
2975
+ #
2976
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GenerateOrganizationsAccessReportResponse AWS API Documentation
2977
+ #
2978
+ class GenerateOrganizationsAccessReportResponse < Struct.new(
2979
+ :job_id)
2980
+ include Aws::Structure
2981
+ end
2982
+
2848
2983
  # @note When making an API call, you may pass GenerateServiceLastAccessedDetailsRequest
2849
2984
  # data as a hash:
2850
2985
  #
@@ -3481,6 +3616,137 @@ module Aws::IAM
3481
3616
  include Aws::Structure
3482
3617
  end
3483
3618
 
3619
+ # @note When making an API call, you may pass GetOrganizationsAccessReportRequest
3620
+ # data as a hash:
3621
+ #
3622
+ # {
3623
+ # job_id: "jobIDType", # required
3624
+ # max_items: 1,
3625
+ # marker: "markerType",
3626
+ # sort_key: "SERVICE_NAMESPACE_ASCENDING", # accepts SERVICE_NAMESPACE_ASCENDING, SERVICE_NAMESPACE_DESCENDING, LAST_AUTHENTICATED_TIME_ASCENDING, LAST_AUTHENTICATED_TIME_DESCENDING
3627
+ # }
3628
+ #
3629
+ # @!attribute [rw] job_id
3630
+ # The identifier of the request generated by the
3631
+ # GenerateOrganizationsAccessReport operation.
3632
+ # @return [String]
3633
+ #
3634
+ # @!attribute [rw] max_items
3635
+ # Use this only when paginating results to indicate the maximum number
3636
+ # of items you want in the response. If additional items exist beyond
3637
+ # the maximum you specify, the `IsTruncated` response element is
3638
+ # `true`.
3639
+ #
3640
+ # If you do not include this parameter, the number of items defaults
3641
+ # to 100. Note that IAM might return fewer results, even when there
3642
+ # are more results available. In that case, the `IsTruncated` response
3643
+ # element returns `true`, and `Marker` contains a value to include in
3644
+ # the subsequent call that tells the service where to continue from.
3645
+ # @return [Integer]
3646
+ #
3647
+ # @!attribute [rw] marker
3648
+ # Use this parameter only when paginating results and only after you
3649
+ # receive a response indicating that the results are truncated. Set it
3650
+ # to the value of the `Marker` element in the response that you
3651
+ # received to indicate where the next call should start.
3652
+ # @return [String]
3653
+ #
3654
+ # @!attribute [rw] sort_key
3655
+ # The key that is used to sort the results. If you choose the
3656
+ # namespace key, the results are returned in alphabetical order. If
3657
+ # you choose the time key, the results are sorted numerically by the
3658
+ # date and time.
3659
+ # @return [String]
3660
+ #
3661
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOrganizationsAccessReportRequest AWS API Documentation
3662
+ #
3663
+ class GetOrganizationsAccessReportRequest < Struct.new(
3664
+ :job_id,
3665
+ :max_items,
3666
+ :marker,
3667
+ :sort_key)
3668
+ include Aws::Structure
3669
+ end
3670
+
3671
+ # @!attribute [rw] job_status
3672
+ # The status of the job.
3673
+ # @return [String]
3674
+ #
3675
+ # @!attribute [rw] job_creation_date
3676
+ # The date and time, in [ISO 8601 date-time format][1], when the
3677
+ # report job was created.
3678
+ #
3679
+ #
3680
+ #
3681
+ # [1]: http://www.iso.org/iso/iso8601
3682
+ # @return [Time]
3683
+ #
3684
+ # @!attribute [rw] job_completion_date
3685
+ # The date and time, in [ISO 8601 date-time format][1], when the
3686
+ # generated report job was completed or failed.
3687
+ #
3688
+ # This field is null if the job is still in progress, as indicated by
3689
+ # a job status value of `IN_PROGRESS`.
3690
+ #
3691
+ #
3692
+ #
3693
+ # [1]: http://www.iso.org/iso/iso8601
3694
+ # @return [Time]
3695
+ #
3696
+ # @!attribute [rw] number_of_services_accessible
3697
+ # The number of services that the applicable SCPs allow account
3698
+ # principals to access.
3699
+ # @return [Integer]
3700
+ #
3701
+ # @!attribute [rw] number_of_services_not_accessed
3702
+ # The number of services that account principals are allowed but did
3703
+ # not attempt to access.
3704
+ # @return [Integer]
3705
+ #
3706
+ # @!attribute [rw] access_details
3707
+ # An object that contains details about the most recent attempt to
3708
+ # access the service.
3709
+ # @return [Array<Types::AccessDetail>]
3710
+ #
3711
+ # @!attribute [rw] is_truncated
3712
+ # A flag that indicates whether there are more items to return. If
3713
+ # your results were truncated, you can make a subsequent pagination
3714
+ # request using the `Marker` request parameter to retrieve more items.
3715
+ # Note that IAM might return fewer than the `MaxItems` number of
3716
+ # results even when there are more results available. We recommend
3717
+ # that you check `IsTruncated` after every call to ensure that you
3718
+ # receive all your results.
3719
+ # @return [Boolean]
3720
+ #
3721
+ # @!attribute [rw] marker
3722
+ # When `IsTruncated` is `true`, this element is present and contains
3723
+ # the value to use for the `Marker` parameter in a subsequent
3724
+ # pagination request.
3725
+ # @return [String]
3726
+ #
3727
+ # @!attribute [rw] error_details
3728
+ # Contains information about the reason that the operation failed.
3729
+ #
3730
+ # This data type is used as a response element in the
3731
+ # GetOrganizationsAccessReport, GetServiceLastAccessedDetails, and
3732
+ # GetServiceLastAccessedDetailsWithEntities operations.
3733
+ # @return [Types::ErrorDetails]
3734
+ #
3735
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/GetOrganizationsAccessReportResponse AWS API Documentation
3736
+ #
3737
+ class GetOrganizationsAccessReportResponse < Struct.new(
3738
+ :job_status,
3739
+ :job_creation_date,
3740
+ :job_completion_date,
3741
+ :number_of_services_accessible,
3742
+ :number_of_services_not_accessed,
3743
+ :access_details,
3744
+ :is_truncated,
3745
+ :marker,
3746
+ :error_details)
3747
+ include Aws::Structure
3748
+ end
3749
+
3484
3750
  # @note When making an API call, you may pass GetPolicyRequest
3485
3751
  # data as a hash:
3486
3752
  #
@@ -3903,7 +4169,7 @@ module Aws::IAM
3903
4169
  # generated report job was completed or failed.
3904
4170
  #
3905
4171
  # This field is null if the job is still in progress, as indicated by
3906
- # a `JobStatus` value of `IN_PROGRESS`.
4172
+ # a job status value of `IN_PROGRESS`.
3907
4173
  #
3908
4174
  #
3909
4175
  #
@@ -4025,6 +4291,9 @@ module Aws::IAM
4025
4291
  # The date and time, in [ISO 8601 date-time format][1], when the
4026
4292
  # generated report job was completed or failed.
4027
4293
  #
4294
+ # This field is null if the job is still in progress, as indicated by
4295
+ # a job status value of `IN_PROGRESS`.
4296
+ #
4028
4297
  #
4029
4298
  #
4030
4299
  # [1]: http://www.iso.org/iso/iso8601
@@ -7143,11 +7412,11 @@ module Aws::IAM
7143
7412
  include Aws::Structure
7144
7413
  end
7145
7414
 
7146
- # Contains information about AWS Organizations's effect on a policy
7147
- # simulation.
7415
+ # Contains information about the effect that Organizations has on a
7416
+ # policy simulation.
7148
7417
  #
7149
7418
  # @!attribute [rw] allowed_by_organizations
7150
- # Specifies whether the simulated operation is allowed by the AWS
7419
+ # Specifies whether the simulated operation is allowed by the
7151
7420
  # Organizations service control policies that impact the simulated
7152
7421
  # user's account.
7153
7422
  # @return [Boolean]
@@ -7684,7 +7953,14 @@ module Aws::IAM
7684
7953
  # @!attribute [rw] group_name
7685
7954
  # The name of the group to associate the policy with.
7686
7955
  #
7687
- # &amp;regex-name;.
7956
+ # This parameter allows (through its [regex pattern][1]) a string of
7957
+ # characters consisting of upper and lowercase alphanumeric characters
7958
+ # with no spaces. You can also include any of the following
7959
+ # characters: \_+=,.@-.
7960
+ #
7961
+ #
7962
+ #
7963
+ # [1]: http://wikipedia.org/wiki/regex
7688
7964
  # @return [String]
7689
7965
  #
7690
7966
  # @!attribute [rw] policy_name
@@ -8043,6 +8319,19 @@ module Aws::IAM
8043
8319
  include Aws::Structure
8044
8320
  end
8045
8321
 
8322
+ # The request failed because the maximum number of concurrent requests
8323
+ # for this account are already running.
8324
+ #
8325
+ # @!attribute [rw] message
8326
+ # @return [String]
8327
+ #
8328
+ # @see http://docs.aws.amazon.com/goto/WebAPI/iam-2010-05-08/ReportGenerationLimitExceededException AWS API Documentation
8329
+ #
8330
+ class ReportGenerationLimitExceededException < Struct.new(
8331
+ :message)
8332
+ include Aws::Structure
8333
+ end
8334
+
8046
8335
  # @note When making an API call, you may pass ResetServiceSpecificCredentialRequest
8047
8336
  # data as a hash:
8048
8337
  #
@@ -8427,7 +8716,7 @@ module Aws::IAM
8427
8716
  # GetServiceLinkedRoleDeletionStatus operation.
8428
8717
  #
8429
8718
  # @!attribute [rw] region
8430
- # The name of the region where the service-linked role is being used.
8719
+ # The name of the Region where the service-linked role is being used.
8431
8720
  # @return [String]
8432
8721
  #
8433
8722
  # @!attribute [rw] resources
@@ -8705,11 +8994,11 @@ module Aws::IAM
8705
8994
  # @return [String]
8706
8995
  #
8707
8996
  # @!attribute [rw] total_authenticated_entities
8708
- # The total number of authenticated entities that have attempted to
8709
- # access the service.
8997
+ # The total number of authenticated principals (root user, IAM users,
8998
+ # or IAM roles) that have attempted to access the service.
8710
8999
  #
8711
- # This field is null if no IAM entities attempted to access the
8712
- # service within the [reporting period][1].
9000
+ # This field is null if no principals attempted to access the service
9001
+ # within the [reporting period][1].
8713
9002
  #
8714
9003
  #
8715
9004
  #
@@ -9358,7 +9647,7 @@ module Aws::IAM
9358
9647
  # @!attribute [rw] context_entries
9359
9648
  # A list of context keys and corresponding values for the simulation
9360
9649
  # to use. Whenever a context key is evaluated in one of the simulated
9361
- # IAM permission policies, the corresponding value is supplied.
9650
+ # IAM permissions policies, the corresponding value is supplied.
9362
9651
  # @return [Array<Types::ContextEntry>]
9363
9652
  #
9364
9653
  # @!attribute [rw] resource_handling_option
@@ -10814,7 +11103,7 @@ module Aws::IAM
10814
11103
  # * A password exists but has not been used since IAM started tracking
10815
11104
  # this information on October 20, 2014.
10816
11105
  #
10817
- # A null valuedoes not mean that the user *never* had a password.
11106
+ # A null value does not mean that the user *never* had a password.
10818
11107
  # Also, if the user does not currently have a password, but had one in
10819
11108
  # the past, then this field contains the date and time the most recent
10820
11109
  # password was used.
@@ -90,7 +90,7 @@ module Aws::IAM
90
90
  # * A password exists but has not been used since IAM started tracking
91
91
  # this information on October 20, 2014.
92
92
  #
93
- # A null valuedoes not mean that the user *never* had a password. Also,
93
+ # A null value does not mean that the user *never* had a password. Also,
94
94
  # if the user does not currently have a password, but had one in the
95
95
  # past, then this field contains the date and time the most recent
96
96
  # password was used.
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.25.0
4
+ version: 1.26.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: 2019-06-17 00:00:00.000000000 Z
11
+ date: 2019-06-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core