aws-sdk-iam 1.25.0 → 1.26.0

Sign up to get free protection for your applications and to get access to all the features.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 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