aws-sdk-ssm 1.144.0 → 1.145.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
  SHA256:
3
- metadata.gz: 3e1f222b054c2cb6f9c4014c39882f20197f02cf5bfd6007619ea81da447f576
4
- data.tar.gz: f3068a350d6f4b15cc245c68cc33d62c8704060238116b5be87a361da7485712
3
+ metadata.gz: f4df763ac4c3ef285412a65d4887525b9307f6a2c162d61aaf39b03083e67a76
4
+ data.tar.gz: 81d2827e2472333d871b4e045305759909decb4e7c43df205921285e3754aa77
5
5
  SHA512:
6
- metadata.gz: b139f19fbd3e23eb3672f177ec51002c725d1f2478aa0c2ea9f21d1b84890bef441e381d00c3a6842fc9b5f059d5f0e32eeaf71142d8b8b88d2d26103003ef48
7
- data.tar.gz: 943cd6e1c12b5dec846024f333db23c0b1e1043c6da40ae599e7875ad87216bea14495b4a0ab5ea6055afb4a1ab720a77b8239865e0210c25a0403d5ac252eda
6
+ metadata.gz: 88ebd26902f41e82c78591109018c347a19dcc5cd493462ed5097fe5de64d4a4290ef585311bdface7cbe7faacf5979fcdc94ae4965452221409dbb2af797b69
7
+ data.tar.gz: fc967ad47d3e5d270c429530087adb0665a43b3df5acf367073dd99a84c50d50ee28d8587d493af52e655190bcb1ef3ddb7e7eb05f3226679969e2487501c2c9
data/CHANGELOG.md CHANGED
@@ -1,6 +1,11 @@
1
1
  Unreleased Changes
2
2
  ------------------
3
3
 
4
+ 1.145.0 (2022-11-16)
5
+ ------------------
6
+
7
+ * Feature - This release adds support for cross account access in CreateOpsItem, UpdateOpsItem and GetOpsItem. It introduces new APIs to setup resource policies for SSM resources: PutResourcePolicy, GetResourcePolicies and DeleteResourcePolicy.
8
+
4
9
  1.144.0 (2022-11-07)
5
10
  ------------------
6
11
 
data/VERSION CHANGED
@@ -1 +1 @@
1
- 1.144.0
1
+ 1.145.0
@@ -640,6 +640,11 @@ module Aws::SSM
640
640
  # [Create an IAM service role for a hybrid environment][1] in the
641
641
  # *Amazon Web Services Systems Manager User Guide*.
642
642
  #
643
+ # <note markdown="1"> You can't specify an IAM service-linked role for this parameter. You
644
+ # must create a unique role.
645
+ #
646
+ # </note>
647
+ #
643
648
  #
644
649
  #
645
650
  # [1]: https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-service-role.html
@@ -1640,8 +1645,23 @@ module Aws::SSM
1640
1645
  # Information about the OpsItem.
1641
1646
  #
1642
1647
  # @option params [String] :ops_item_type
1643
- # The type of OpsItem to create. Currently, the only valid values are
1644
- # `/aws/changerequest` and `/aws/issue`.
1648
+ # The type of OpsItem to create. Systems Manager supports the following
1649
+ # types of OpsItems:
1650
+ #
1651
+ # * `/aws/issue`
1652
+ #
1653
+ # This type of OpsItem is used for default OpsItems created by
1654
+ # OpsCenter.
1655
+ #
1656
+ # * `/aws/changerequest`
1657
+ #
1658
+ # This type of OpsItem is used by Change Manager for reviewing and
1659
+ # approving or rejecting change requests.
1660
+ #
1661
+ # * `/aws/insights`
1662
+ #
1663
+ # This type of OpsItem is used by OpsCenter for aggregating and
1664
+ # reporting on duplicate OpsItems.
1645
1665
  #
1646
1666
  # @option params [Hash<String,Types::OpsItemDataValue>] :operational_data
1647
1667
  # Operational data is custom data that provides useful reference details
@@ -1740,9 +1760,21 @@ module Aws::SSM
1740
1760
  # The time specified in a change request for a runbook workflow to end.
1741
1761
  # Currently supported only for the OpsItem type `/aws/changerequest`.
1742
1762
  #
1763
+ # @option params [String] :account_id
1764
+ # The target Amazon Web Services account where you want to create an
1765
+ # OpsItem. To make this call, your account must be configured to work
1766
+ # with OpsItems across accounts. For more information, see [Setting up
1767
+ # OpsCenter to work with OpsItems across accounts][1] in the *Amazon Web
1768
+ # Services Systems Manager User Guide*.
1769
+ #
1770
+ #
1771
+ #
1772
+ # [1]: https://docs.aws.amazon.com/systems-manager/latest/userguide/systems-manager-OpsCenter-multiple-accounts.html
1773
+ #
1743
1774
  # @return [Types::CreateOpsItemResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1744
1775
  #
1745
1776
  # * {Types::CreateOpsItemResponse#ops_item_id #ops_item_id} => String
1777
+ # * {Types::CreateOpsItemResponse#ops_item_arn #ops_item_arn} => String
1746
1778
  #
1747
1779
  # @example Request syntax with placeholder values
1748
1780
  #
@@ -1780,11 +1812,13 @@ module Aws::SSM
1780
1812
  # actual_end_time: Time.now,
1781
1813
  # planned_start_time: Time.now,
1782
1814
  # planned_end_time: Time.now,
1815
+ # account_id: "OpsItemAccountId",
1783
1816
  # })
1784
1817
  #
1785
1818
  # @example Response structure
1786
1819
  #
1787
1820
  # resp.ops_item_id #=> String
1821
+ # resp.ops_item_arn #=> String
1788
1822
  #
1789
1823
  # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/CreateOpsItem AWS API Documentation
1790
1824
  #
@@ -2477,6 +2511,44 @@ module Aws::SSM
2477
2511
  req.send_request(options)
2478
2512
  end
2479
2513
 
2514
+ # Deletes a Systems Manager resource policy. A resource policy helps you
2515
+ # to define the IAM entity (for example, an Amazon Web Services account)
2516
+ # that can manage your Systems Manager resources. Currently,
2517
+ # `OpsItemGroup` is the only resource that supports Systems Manager
2518
+ # resource policies. The resource policy for `OpsItemGroup` enables
2519
+ # Amazon Web Services accounts to view and interact with OpsCenter
2520
+ # operational work items (OpsItems).
2521
+ #
2522
+ # @option params [required, String] :resource_arn
2523
+ # Amazon Resource Name (ARN) of the resource to which the policies are
2524
+ # attached.
2525
+ #
2526
+ # @option params [required, String] :policy_id
2527
+ # The policy ID.
2528
+ #
2529
+ # @option params [required, String] :policy_hash
2530
+ # ID of the current policy version. The hash helps to prevent multiple
2531
+ # calls from attempting to overwrite a policy.
2532
+ #
2533
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2534
+ #
2535
+ # @example Request syntax with placeholder values
2536
+ #
2537
+ # resp = client.delete_resource_policy({
2538
+ # resource_arn: "ResourceArnString", # required
2539
+ # policy_id: "PolicyId", # required
2540
+ # policy_hash: "PolicyHash", # required
2541
+ # })
2542
+ #
2543
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/DeleteResourcePolicy AWS API Documentation
2544
+ #
2545
+ # @overload delete_resource_policy(params = {})
2546
+ # @param [Hash] params ({})
2547
+ def delete_resource_policy(params = {}, options = {})
2548
+ req = build_request(:delete_resource_policy, params)
2549
+ req.send_request(options)
2550
+ end
2551
+
2480
2552
  # Removes the server or virtual machine from the list of registered
2481
2553
  # servers. You can reregister the node again at any time. If you don't
2482
2554
  # plan to use Run Command on the server, we suggest uninstalling SSM
@@ -4669,7 +4741,7 @@ module Aws::SSM
4669
4741
  # resp = client.describe_ops_items({
4670
4742
  # ops_item_filters: [
4671
4743
  # {
4672
- # key: "Status", # required, accepts Status, CreatedBy, Source, Priority, Title, OpsItemId, CreatedTime, LastModifiedTime, ActualStartTime, ActualEndTime, PlannedStartTime, PlannedEndTime, OperationalData, OperationalDataKey, OperationalDataValue, ResourceId, AutomationId, Category, Severity, OpsItemType, ChangeRequestByRequesterArn, ChangeRequestByRequesterName, ChangeRequestByApproverArn, ChangeRequestByApproverName, ChangeRequestByTemplate, ChangeRequestByTargetsResourceGroup, InsightByType
4744
+ # key: "Status", # required, accepts Status, CreatedBy, Source, Priority, Title, OpsItemId, CreatedTime, LastModifiedTime, ActualStartTime, ActualEndTime, PlannedStartTime, PlannedEndTime, OperationalData, OperationalDataKey, OperationalDataValue, ResourceId, AutomationId, Category, Severity, OpsItemType, ChangeRequestByRequesterArn, ChangeRequestByRequesterName, ChangeRequestByApproverArn, ChangeRequestByApproverName, ChangeRequestByTemplate, ChangeRequestByTargetsResourceGroup, InsightByType, AccountId
4673
4745
  # values: ["OpsItemFilterValue"], # required
4674
4746
  # operator: "Equal", # required, accepts Equal, Contains, GreaterThan, LessThan
4675
4747
  # },
@@ -6252,6 +6324,9 @@ module Aws::SSM
6252
6324
  # @option params [required, String] :ops_item_id
6253
6325
  # The ID of the OpsItem that you want to get.
6254
6326
  #
6327
+ # @option params [String] :ops_item_arn
6328
+ # The OpsItem Amazon Resource Name (ARN).
6329
+ #
6255
6330
  # @return [Types::GetOpsItemResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6256
6331
  #
6257
6332
  # * {Types::GetOpsItemResponse#ops_item #ops_item} => Types::OpsItem
@@ -6260,6 +6335,7 @@ module Aws::SSM
6260
6335
  #
6261
6336
  # resp = client.get_ops_item({
6262
6337
  # ops_item_id: "OpsItemId", # required
6338
+ # ops_item_arn: "OpsItemArn",
6263
6339
  # })
6264
6340
  #
6265
6341
  # @example Response structure
@@ -6289,6 +6365,7 @@ module Aws::SSM
6289
6365
  # resp.ops_item.actual_end_time #=> Time
6290
6366
  # resp.ops_item.planned_start_time #=> Time
6291
6367
  # resp.ops_item.planned_end_time #=> Time
6368
+ # resp.ops_item.ops_item_arn #=> String
6292
6369
  #
6293
6370
  # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetOpsItem AWS API Documentation
6294
6371
  #
@@ -6836,6 +6913,53 @@ module Aws::SSM
6836
6913
  req.send_request(options)
6837
6914
  end
6838
6915
 
6916
+ # Returns an array of the `Policy` object.
6917
+ #
6918
+ # @option params [required, String] :resource_arn
6919
+ # Amazon Resource Name (ARN) of the resource to which the policies are
6920
+ # attached.
6921
+ #
6922
+ # @option params [String] :next_token
6923
+ # A token to start the list. Use this token to get the next set of
6924
+ # results.
6925
+ #
6926
+ # @option params [Integer] :max_results
6927
+ # The maximum number of items to return for this call. The call also
6928
+ # returns a token that you can specify in a subsequent call to get the
6929
+ # next set of results.
6930
+ #
6931
+ # @return [Types::GetResourcePoliciesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
6932
+ #
6933
+ # * {Types::GetResourcePoliciesResponse#next_token #next_token} => String
6934
+ # * {Types::GetResourcePoliciesResponse#policies #policies} => Array&lt;Types::GetResourcePoliciesResponseEntry&gt;
6935
+ #
6936
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
6937
+ #
6938
+ # @example Request syntax with placeholder values
6939
+ #
6940
+ # resp = client.get_resource_policies({
6941
+ # resource_arn: "ResourceArnString", # required
6942
+ # next_token: "String",
6943
+ # max_results: 1,
6944
+ # })
6945
+ #
6946
+ # @example Response structure
6947
+ #
6948
+ # resp.next_token #=> String
6949
+ # resp.policies #=> Array
6950
+ # resp.policies[0].policy_id #=> String
6951
+ # resp.policies[0].policy_hash #=> String
6952
+ # resp.policies[0].policy #=> String
6953
+ #
6954
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/GetResourcePolicies AWS API Documentation
6955
+ #
6956
+ # @overload get_resource_policies(params = {})
6957
+ # @param [Hash] params ({})
6958
+ def get_resource_policies(params = {}, options = {})
6959
+ req = build_request(:get_resource_policies, params)
6960
+ req.send_request(options)
6961
+ end
6962
+
6839
6963
  # `ServiceSetting` is an account-level setting for an Amazon Web
6840
6964
  # Services service. This setting defines how a user interacts with or
6841
6965
  # uses a service or a feature of a service. For example, if an Amazon
@@ -8652,6 +8776,56 @@ module Aws::SSM
8652
8776
  req.send_request(options)
8653
8777
  end
8654
8778
 
8779
+ # Creates or updates a Systems Manager resource policy. A resource
8780
+ # policy helps you to define the IAM entity (for example, an Amazon Web
8781
+ # Services account) that can manage your Systems Manager resources.
8782
+ # Currently, `OpsItemGroup` is the only resource that supports Systems
8783
+ # Manager resource policies. The resource policy for `OpsItemGroup`
8784
+ # enables Amazon Web Services accounts to view and interact with
8785
+ # OpsCenter operational work items (OpsItems).
8786
+ #
8787
+ # @option params [required, String] :resource_arn
8788
+ # Amazon Resource Name (ARN) of the resource to which the policies are
8789
+ # attached.
8790
+ #
8791
+ # @option params [required, String] :policy
8792
+ # A policy you want to associate with a resource.
8793
+ #
8794
+ # @option params [String] :policy_id
8795
+ # The policy ID.
8796
+ #
8797
+ # @option params [String] :policy_hash
8798
+ # ID of the current policy version. The hash helps to prevent a
8799
+ # situation where multiple users attempt to overwrite a policy.
8800
+ #
8801
+ # @return [Types::PutResourcePolicyResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
8802
+ #
8803
+ # * {Types::PutResourcePolicyResponse#policy_id #policy_id} => String
8804
+ # * {Types::PutResourcePolicyResponse#policy_hash #policy_hash} => String
8805
+ #
8806
+ # @example Request syntax with placeholder values
8807
+ #
8808
+ # resp = client.put_resource_policy({
8809
+ # resource_arn: "ResourceArnString", # required
8810
+ # policy: "Policy", # required
8811
+ # policy_id: "PolicyId",
8812
+ # policy_hash: "PolicyHash",
8813
+ # })
8814
+ #
8815
+ # @example Response structure
8816
+ #
8817
+ # resp.policy_id #=> String
8818
+ # resp.policy_hash #=> String
8819
+ #
8820
+ # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/PutResourcePolicy AWS API Documentation
8821
+ #
8822
+ # @overload put_resource_policy(params = {})
8823
+ # @param [Hash] params ({})
8824
+ def put_resource_policy(params = {}, options = {})
8825
+ req = build_request(:put_resource_policy, params)
8826
+ req.send_request(options)
8827
+ end
8828
+
8655
8829
  # Defines the default patch baseline for the relevant operating system.
8656
8830
  #
8657
8831
  # To reset the Amazon Web Services-predefined patch baseline as the
@@ -11376,7 +11550,21 @@ module Aws::SSM
11376
11550
  # The ID of the managed node where you want to update the role.
11377
11551
  #
11378
11552
  # @option params [required, String] :iam_role
11379
- # The IAM role you want to assign or change.
11553
+ # The name of the Identity and Access Management (IAM) role that you
11554
+ # want to assign to the managed node. This IAM role must provide
11555
+ # AssumeRole permissions for the Amazon Web Services Systems Manager
11556
+ # service principal `ssm.amazonaws.com`. For more information, see
11557
+ # [Create an IAM service role for a hybrid environment][1] in the
11558
+ # *Amazon Web Services Systems Manager User Guide*.
11559
+ #
11560
+ # <note markdown="1"> You can't specify an IAM service-linked role for this parameter. You
11561
+ # must create a unique role.
11562
+ #
11563
+ # </note>
11564
+ #
11565
+ #
11566
+ #
11567
+ # [1]: https://docs.aws.amazon.com/systems-manager/latest/userguide/sysman-service-role.html
11380
11568
  #
11381
11569
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
11382
11570
  #
@@ -11506,6 +11694,9 @@ module Aws::SSM
11506
11694
  # The time specified in a change request for a runbook workflow to end.
11507
11695
  # Currently supported only for the OpsItem type `/aws/changerequest`.
11508
11696
  #
11697
+ # @option params [String] :ops_item_arn
11698
+ # The OpsItem Amazon Resource Name (ARN).
11699
+ #
11509
11700
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
11510
11701
  #
11511
11702
  # @example Request syntax with placeholder values
@@ -11539,6 +11730,7 @@ module Aws::SSM
11539
11730
  # actual_end_time: Time.now,
11540
11731
  # planned_start_time: Time.now,
11541
11732
  # planned_end_time: Time.now,
11733
+ # ops_item_arn: "OpsItemArn",
11542
11734
  # })
11543
11735
  #
11544
11736
  # @see http://docs.aws.amazon.com/goto/WebAPI/ssm-2014-11-06/UpdateOpsItem AWS API Documentation
@@ -11926,7 +12118,7 @@ module Aws::SSM
11926
12118
  params: params,
11927
12119
  config: config)
11928
12120
  context[:gem_name] = 'aws-sdk-ssm'
11929
- context[:gem_version] = '1.144.0'
12121
+ context[:gem_version] = '1.145.0'
11930
12122
  Seahorse::Client::Request.new(handlers, context)
11931
12123
  end
11932
12124
 
@@ -241,6 +241,8 @@ module Aws::SSM
241
241
  DeletePatchBaselineResult = Shapes::StructureShape.new(name: 'DeletePatchBaselineResult')
242
242
  DeleteResourceDataSyncRequest = Shapes::StructureShape.new(name: 'DeleteResourceDataSyncRequest')
243
243
  DeleteResourceDataSyncResult = Shapes::StructureShape.new(name: 'DeleteResourceDataSyncResult')
244
+ DeleteResourcePolicyRequest = Shapes::StructureShape.new(name: 'DeleteResourcePolicyRequest')
245
+ DeleteResourcePolicyResponse = Shapes::StructureShape.new(name: 'DeleteResourcePolicyResponse')
244
246
  DeliveryTimedOutCount = Shapes::IntegerShape.new(name: 'DeliveryTimedOutCount')
245
247
  DeregisterManagedInstanceRequest = Shapes::StructureShape.new(name: 'DeregisterManagedInstanceRequest')
246
248
  DeregisterManagedInstanceResult = Shapes::StructureShape.new(name: 'DeregisterManagedInstanceResult')
@@ -443,6 +445,10 @@ module Aws::SSM
443
445
  GetPatchBaselineForPatchGroupResult = Shapes::StructureShape.new(name: 'GetPatchBaselineForPatchGroupResult')
444
446
  GetPatchBaselineRequest = Shapes::StructureShape.new(name: 'GetPatchBaselineRequest')
445
447
  GetPatchBaselineResult = Shapes::StructureShape.new(name: 'GetPatchBaselineResult')
448
+ GetResourcePoliciesRequest = Shapes::StructureShape.new(name: 'GetResourcePoliciesRequest')
449
+ GetResourcePoliciesResponse = Shapes::StructureShape.new(name: 'GetResourcePoliciesResponse')
450
+ GetResourcePoliciesResponseEntries = Shapes::ListShape.new(name: 'GetResourcePoliciesResponseEntries')
451
+ GetResourcePoliciesResponseEntry = Shapes::StructureShape.new(name: 'GetResourcePoliciesResponseEntry')
446
452
  GetServiceSettingRequest = Shapes::StructureShape.new(name: 'GetServiceSettingRequest')
447
453
  GetServiceSettingResult = Shapes::StructureShape.new(name: 'GetServiceSettingResult')
448
454
  HierarchyLevelLimitExceededException = Shapes::StructureShape.new(name: 'HierarchyLevelLimitExceededException')
@@ -741,7 +747,10 @@ module Aws::SSM
741
747
  OpsFilterValue = Shapes::StringShape.new(name: 'OpsFilterValue')
742
748
  OpsFilterValueList = Shapes::ListShape.new(name: 'OpsFilterValueList')
743
749
  OpsItem = Shapes::StructureShape.new(name: 'OpsItem')
750
+ OpsItemAccessDeniedException = Shapes::StructureShape.new(name: 'OpsItemAccessDeniedException')
751
+ OpsItemAccountId = Shapes::StringShape.new(name: 'OpsItemAccountId')
744
752
  OpsItemAlreadyExistsException = Shapes::StructureShape.new(name: 'OpsItemAlreadyExistsException')
753
+ OpsItemArn = Shapes::StringShape.new(name: 'OpsItemArn')
745
754
  OpsItemCategory = Shapes::StringShape.new(name: 'OpsItemCategory')
746
755
  OpsItemDataKey = Shapes::StringShape.new(name: 'OpsItemDataKey')
747
756
  OpsItemDataType = Shapes::StringShape.new(name: 'OpsItemDataType')
@@ -946,6 +955,9 @@ module Aws::SSM
946
955
  PlatformType = Shapes::StringShape.new(name: 'PlatformType')
947
956
  PlatformTypeList = Shapes::ListShape.new(name: 'PlatformTypeList')
948
957
  PoliciesLimitExceededException = Shapes::StructureShape.new(name: 'PoliciesLimitExceededException')
958
+ Policy = Shapes::StringShape.new(name: 'Policy')
959
+ PolicyHash = Shapes::StringShape.new(name: 'PolicyHash')
960
+ PolicyId = Shapes::StringShape.new(name: 'PolicyId')
949
961
  Product = Shapes::StringShape.new(name: 'Product')
950
962
  ProgressCounters = Shapes::StructureShape.new(name: 'ProgressCounters')
951
963
  PutComplianceItemsRequest = Shapes::StructureShape.new(name: 'PutComplianceItemsRequest')
@@ -955,6 +967,8 @@ module Aws::SSM
955
967
  PutInventoryResult = Shapes::StructureShape.new(name: 'PutInventoryResult')
956
968
  PutParameterRequest = Shapes::StructureShape.new(name: 'PutParameterRequest')
957
969
  PutParameterResult = Shapes::StructureShape.new(name: 'PutParameterResult')
970
+ PutResourcePolicyRequest = Shapes::StructureShape.new(name: 'PutResourcePolicyRequest')
971
+ PutResourcePolicyResponse = Shapes::StructureShape.new(name: 'PutResourcePolicyResponse')
958
972
  RebootOption = Shapes::StringShape.new(name: 'RebootOption')
959
973
  Region = Shapes::StringShape.new(name: 'Region')
960
974
  Regions = Shapes::ListShape.new(name: 'Regions')
@@ -980,6 +994,7 @@ module Aws::SSM
980
994
  ResetServiceSettingRequest = Shapes::StructureShape.new(name: 'ResetServiceSettingRequest')
981
995
  ResetServiceSettingResult = Shapes::StructureShape.new(name: 'ResetServiceSettingResult')
982
996
  ResolvedTargets = Shapes::StructureShape.new(name: 'ResolvedTargets')
997
+ ResourceArnString = Shapes::StringShape.new(name: 'ResourceArnString')
983
998
  ResourceComplianceSummaryItem = Shapes::StructureShape.new(name: 'ResourceComplianceSummaryItem')
984
999
  ResourceComplianceSummaryItemList = Shapes::ListShape.new(name: 'ResourceComplianceSummaryItemList')
985
1000
  ResourceCount = Shapes::IntegerShape.new(name: 'ResourceCount')
@@ -1019,6 +1034,11 @@ module Aws::SSM
1019
1034
  ResourceId = Shapes::StringShape.new(name: 'ResourceId')
1020
1035
  ResourceInUseException = Shapes::StructureShape.new(name: 'ResourceInUseException')
1021
1036
  ResourceLimitExceededException = Shapes::StructureShape.new(name: 'ResourceLimitExceededException')
1037
+ ResourcePolicyConflictException = Shapes::StructureShape.new(name: 'ResourcePolicyConflictException')
1038
+ ResourcePolicyInvalidParameterException = Shapes::StructureShape.new(name: 'ResourcePolicyInvalidParameterException')
1039
+ ResourcePolicyLimitExceededException = Shapes::StructureShape.new(name: 'ResourcePolicyLimitExceededException')
1040
+ ResourcePolicyMaxResults = Shapes::IntegerShape.new(name: 'ResourcePolicyMaxResults')
1041
+ ResourcePolicyParameterNamesList = Shapes::ListShape.new(name: 'ResourcePolicyParameterNamesList')
1022
1042
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
1023
1043
  ResourceTypeForTagging = Shapes::StringShape.new(name: 'ResourceTypeForTagging')
1024
1044
  ResponseCode = Shapes::IntegerShape.new(name: 'ResponseCode')
@@ -1786,9 +1806,11 @@ module Aws::SSM
1786
1806
  CreateOpsItemRequest.add_member(:actual_end_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "ActualEndTime"))
1787
1807
  CreateOpsItemRequest.add_member(:planned_start_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "PlannedStartTime"))
1788
1808
  CreateOpsItemRequest.add_member(:planned_end_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "PlannedEndTime"))
1809
+ CreateOpsItemRequest.add_member(:account_id, Shapes::ShapeRef.new(shape: OpsItemAccountId, location_name: "AccountId"))
1789
1810
  CreateOpsItemRequest.struct_class = Types::CreateOpsItemRequest
1790
1811
 
1791
1812
  CreateOpsItemResponse.add_member(:ops_item_id, Shapes::ShapeRef.new(shape: String, location_name: "OpsItemId"))
1813
+ CreateOpsItemResponse.add_member(:ops_item_arn, Shapes::ShapeRef.new(shape: OpsItemArn, location_name: "OpsItemArn"))
1792
1814
  CreateOpsItemResponse.struct_class = Types::CreateOpsItemResponse
1793
1815
 
1794
1816
  CreateOpsMetadataRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: OpsMetadataResourceId, required: true, location_name: "ResourceId"))
@@ -1894,6 +1916,13 @@ module Aws::SSM
1894
1916
 
1895
1917
  DeleteResourceDataSyncResult.struct_class = Types::DeleteResourceDataSyncResult
1896
1918
 
1919
+ DeleteResourcePolicyRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArnString, required: true, location_name: "ResourceArn"))
1920
+ DeleteResourcePolicyRequest.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, required: true, location_name: "PolicyId"))
1921
+ DeleteResourcePolicyRequest.add_member(:policy_hash, Shapes::ShapeRef.new(shape: PolicyHash, required: true, location_name: "PolicyHash"))
1922
+ DeleteResourcePolicyRequest.struct_class = Types::DeleteResourcePolicyRequest
1923
+
1924
+ DeleteResourcePolicyResponse.struct_class = Types::DeleteResourcePolicyResponse
1925
+
1897
1926
  DeregisterManagedInstanceRequest.add_member(:instance_id, Shapes::ShapeRef.new(shape: ManagedInstanceId, required: true, location_name: "InstanceId"))
1898
1927
  DeregisterManagedInstanceRequest.struct_class = Types::DeregisterManagedInstanceRequest
1899
1928
 
@@ -2620,6 +2649,7 @@ module Aws::SSM
2620
2649
  GetMaintenanceWindowTaskResult.struct_class = Types::GetMaintenanceWindowTaskResult
2621
2650
 
2622
2651
  GetOpsItemRequest.add_member(:ops_item_id, Shapes::ShapeRef.new(shape: OpsItemId, required: true, location_name: "OpsItemId"))
2652
+ GetOpsItemRequest.add_member(:ops_item_arn, Shapes::ShapeRef.new(shape: OpsItemArn, location_name: "OpsItemArn"))
2623
2653
  GetOpsItemRequest.struct_class = Types::GetOpsItemRequest
2624
2654
 
2625
2655
  GetOpsItemResponse.add_member(:ops_item, Shapes::ShapeRef.new(shape: OpsItem, location_name: "OpsItem"))
@@ -2713,6 +2743,22 @@ module Aws::SSM
2713
2743
  GetPatchBaselineResult.add_member(:sources, Shapes::ShapeRef.new(shape: PatchSourceList, location_name: "Sources"))
2714
2744
  GetPatchBaselineResult.struct_class = Types::GetPatchBaselineResult
2715
2745
 
2746
+ GetResourcePoliciesRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArnString, required: true, location_name: "ResourceArn"))
2747
+ GetResourcePoliciesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
2748
+ GetResourcePoliciesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: ResourcePolicyMaxResults, location_name: "MaxResults"))
2749
+ GetResourcePoliciesRequest.struct_class = Types::GetResourcePoliciesRequest
2750
+
2751
+ GetResourcePoliciesResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
2752
+ GetResourcePoliciesResponse.add_member(:policies, Shapes::ShapeRef.new(shape: GetResourcePoliciesResponseEntries, location_name: "Policies"))
2753
+ GetResourcePoliciesResponse.struct_class = Types::GetResourcePoliciesResponse
2754
+
2755
+ GetResourcePoliciesResponseEntries.member = Shapes::ShapeRef.new(shape: GetResourcePoliciesResponseEntry)
2756
+
2757
+ GetResourcePoliciesResponseEntry.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, location_name: "PolicyId"))
2758
+ GetResourcePoliciesResponseEntry.add_member(:policy_hash, Shapes::ShapeRef.new(shape: PolicyHash, location_name: "PolicyHash"))
2759
+ GetResourcePoliciesResponseEntry.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, location_name: "Policy"))
2760
+ GetResourcePoliciesResponseEntry.struct_class = Types::GetResourcePoliciesResponseEntry
2761
+
2716
2762
  GetServiceSettingRequest.add_member(:setting_id, Shapes::ShapeRef.new(shape: ServiceSettingId, required: true, location_name: "SettingId"))
2717
2763
  GetServiceSettingRequest.struct_class = Types::GetServiceSettingRequest
2718
2764
 
@@ -3510,8 +3556,12 @@ module Aws::SSM
3510
3556
  OpsItem.add_member(:actual_end_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "ActualEndTime"))
3511
3557
  OpsItem.add_member(:planned_start_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "PlannedStartTime"))
3512
3558
  OpsItem.add_member(:planned_end_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "PlannedEndTime"))
3559
+ OpsItem.add_member(:ops_item_arn, Shapes::ShapeRef.new(shape: OpsItemArn, location_name: "OpsItemArn"))
3513
3560
  OpsItem.struct_class = Types::OpsItem
3514
3561
 
3562
+ OpsItemAccessDeniedException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
3563
+ OpsItemAccessDeniedException.struct_class = Types::OpsItemAccessDeniedException
3564
+
3515
3565
  OpsItemAlreadyExistsException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
3516
3566
  OpsItemAlreadyExistsException.add_member(:ops_item_id, Shapes::ShapeRef.new(shape: String, location_name: "OpsItemId"))
3517
3567
  OpsItemAlreadyExistsException.struct_class = Types::OpsItemAlreadyExistsException
@@ -3931,6 +3981,16 @@ module Aws::SSM
3931
3981
  PutParameterResult.add_member(:tier, Shapes::ShapeRef.new(shape: ParameterTier, location_name: "Tier"))
3932
3982
  PutParameterResult.struct_class = Types::PutParameterResult
3933
3983
 
3984
+ PutResourcePolicyRequest.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArnString, required: true, location_name: "ResourceArn"))
3985
+ PutResourcePolicyRequest.add_member(:policy, Shapes::ShapeRef.new(shape: Policy, required: true, location_name: "Policy"))
3986
+ PutResourcePolicyRequest.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, location_name: "PolicyId"))
3987
+ PutResourcePolicyRequest.add_member(:policy_hash, Shapes::ShapeRef.new(shape: PolicyHash, location_name: "PolicyHash"))
3988
+ PutResourcePolicyRequest.struct_class = Types::PutResourcePolicyRequest
3989
+
3990
+ PutResourcePolicyResponse.add_member(:policy_id, Shapes::ShapeRef.new(shape: PolicyId, location_name: "PolicyId"))
3991
+ PutResourcePolicyResponse.add_member(:policy_hash, Shapes::ShapeRef.new(shape: PolicyHash, location_name: "PolicyHash"))
3992
+ PutResourcePolicyResponse.struct_class = Types::PutResourcePolicyResponse
3993
+
3934
3994
  Regions.member = Shapes::ShapeRef.new(shape: Region)
3935
3995
 
3936
3996
  RegisterDefaultPatchBaselineRequest.add_member(:baseline_id, Shapes::ShapeRef.new(shape: BaselineId, required: true, location_name: "BaselineId"))
@@ -4094,6 +4154,20 @@ module Aws::SSM
4094
4154
  ResourceLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
4095
4155
  ResourceLimitExceededException.struct_class = Types::ResourceLimitExceededException
4096
4156
 
4157
+ ResourcePolicyConflictException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
4158
+ ResourcePolicyConflictException.struct_class = Types::ResourcePolicyConflictException
4159
+
4160
+ ResourcePolicyInvalidParameterException.add_member(:parameter_names, Shapes::ShapeRef.new(shape: ResourcePolicyParameterNamesList, location_name: "ParameterNames"))
4161
+ ResourcePolicyInvalidParameterException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
4162
+ ResourcePolicyInvalidParameterException.struct_class = Types::ResourcePolicyInvalidParameterException
4163
+
4164
+ ResourcePolicyLimitExceededException.add_member(:limit, Shapes::ShapeRef.new(shape: Integer, location_name: "Limit"))
4165
+ ResourcePolicyLimitExceededException.add_member(:limit_type, Shapes::ShapeRef.new(shape: String, location_name: "LimitType"))
4166
+ ResourcePolicyLimitExceededException.add_member(:message, Shapes::ShapeRef.new(shape: String, location_name: "Message"))
4167
+ ResourcePolicyLimitExceededException.struct_class = Types::ResourcePolicyLimitExceededException
4168
+
4169
+ ResourcePolicyParameterNamesList.member = Shapes::ShapeRef.new(shape: String)
4170
+
4097
4171
  ResultAttribute.add_member(:type_name, Shapes::ShapeRef.new(shape: InventoryItemTypeName, required: true, location_name: "TypeName"))
4098
4172
  ResultAttribute.struct_class = Types::ResultAttribute
4099
4173
 
@@ -4565,6 +4639,7 @@ module Aws::SSM
4565
4639
  UpdateOpsItemRequest.add_member(:actual_end_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "ActualEndTime"))
4566
4640
  UpdateOpsItemRequest.add_member(:planned_start_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "PlannedStartTime"))
4567
4641
  UpdateOpsItemRequest.add_member(:planned_end_time, Shapes::ShapeRef.new(shape: DateTime, location_name: "PlannedEndTime"))
4642
+ UpdateOpsItemRequest.add_member(:ops_item_arn, Shapes::ShapeRef.new(shape: OpsItemArn, location_name: "OpsItemArn"))
4568
4643
  UpdateOpsItemRequest.struct_class = Types::UpdateOpsItemRequest
4569
4644
 
4570
4645
  UpdateOpsItemResponse.struct_class = Types::UpdateOpsItemResponse
@@ -4775,6 +4850,7 @@ module Aws::SSM
4775
4850
  o.errors << Shapes::ShapeRef.new(shape: OpsItemAlreadyExistsException)
4776
4851
  o.errors << Shapes::ShapeRef.new(shape: OpsItemLimitExceededException)
4777
4852
  o.errors << Shapes::ShapeRef.new(shape: OpsItemInvalidParameterException)
4853
+ o.errors << Shapes::ShapeRef.new(shape: OpsItemAccessDeniedException)
4778
4854
  end)
4779
4855
 
4780
4856
  api.add_operation(:create_ops_metadata, Seahorse::Model::Operation.new.tap do |o|
@@ -4923,6 +4999,17 @@ module Aws::SSM
4923
4999
  o.errors << Shapes::ShapeRef.new(shape: ResourceDataSyncInvalidConfigurationException)
4924
5000
  end)
4925
5001
 
5002
+ api.add_operation(:delete_resource_policy, Seahorse::Model::Operation.new.tap do |o|
5003
+ o.name = "DeleteResourcePolicy"
5004
+ o.http_method = "POST"
5005
+ o.http_request_uri = "/"
5006
+ o.input = Shapes::ShapeRef.new(shape: DeleteResourcePolicyRequest)
5007
+ o.output = Shapes::ShapeRef.new(shape: DeleteResourcePolicyResponse)
5008
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
5009
+ o.errors << Shapes::ShapeRef.new(shape: ResourcePolicyInvalidParameterException)
5010
+ o.errors << Shapes::ShapeRef.new(shape: ResourcePolicyConflictException)
5011
+ end)
5012
+
4926
5013
  api.add_operation(:deregister_managed_instance, Seahorse::Model::Operation.new.tap do |o|
4927
5014
  o.name = "DeregisterManagedInstance"
4928
5015
  o.http_method = "POST"
@@ -5658,6 +5745,7 @@ module Aws::SSM
5658
5745
  o.output = Shapes::ShapeRef.new(shape: GetOpsItemResponse)
5659
5746
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
5660
5747
  o.errors << Shapes::ShapeRef.new(shape: OpsItemNotFoundException)
5748
+ o.errors << Shapes::ShapeRef.new(shape: OpsItemAccessDeniedException)
5661
5749
  end)
5662
5750
 
5663
5751
  api.add_operation(:get_ops_metadata, Seahorse::Model::Operation.new.tap do |o|
@@ -5771,6 +5859,22 @@ module Aws::SSM
5771
5859
  o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
5772
5860
  end)
5773
5861
 
5862
+ api.add_operation(:get_resource_policies, Seahorse::Model::Operation.new.tap do |o|
5863
+ o.name = "GetResourcePolicies"
5864
+ o.http_method = "POST"
5865
+ o.http_request_uri = "/"
5866
+ o.input = Shapes::ShapeRef.new(shape: GetResourcePoliciesRequest)
5867
+ o.output = Shapes::ShapeRef.new(shape: GetResourcePoliciesResponse)
5868
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
5869
+ o.errors << Shapes::ShapeRef.new(shape: ResourcePolicyInvalidParameterException)
5870
+ o[:pager] = Aws::Pager.new(
5871
+ limit_key: "max_results",
5872
+ tokens: {
5873
+ "next_token" => "next_token"
5874
+ }
5875
+ )
5876
+ end)
5877
+
5774
5878
  api.add_operation(:get_service_setting, Seahorse::Model::Operation.new.tap do |o|
5775
5879
  o.name = "GetServiceSetting"
5776
5880
  o.http_method = "POST"
@@ -6126,6 +6230,18 @@ module Aws::SSM
6126
6230
  o.errors << Shapes::ShapeRef.new(shape: IncompatiblePolicyException)
6127
6231
  end)
6128
6232
 
6233
+ api.add_operation(:put_resource_policy, Seahorse::Model::Operation.new.tap do |o|
6234
+ o.name = "PutResourcePolicy"
6235
+ o.http_method = "POST"
6236
+ o.http_request_uri = "/"
6237
+ o.input = Shapes::ShapeRef.new(shape: PutResourcePolicyRequest)
6238
+ o.output = Shapes::ShapeRef.new(shape: PutResourcePolicyResponse)
6239
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerError)
6240
+ o.errors << Shapes::ShapeRef.new(shape: ResourcePolicyInvalidParameterException)
6241
+ o.errors << Shapes::ShapeRef.new(shape: ResourcePolicyLimitExceededException)
6242
+ o.errors << Shapes::ShapeRef.new(shape: ResourcePolicyConflictException)
6243
+ end)
6244
+
6129
6245
  api.add_operation(:register_default_patch_baseline, Seahorse::Model::Operation.new.tap do |o|
6130
6246
  o.name = "RegisterDefaultPatchBaseline"
6131
6247
  o.http_method = "POST"
@@ -6450,6 +6566,7 @@ module Aws::SSM
6450
6566
  o.errors << Shapes::ShapeRef.new(shape: OpsItemAlreadyExistsException)
6451
6567
  o.errors << Shapes::ShapeRef.new(shape: OpsItemLimitExceededException)
6452
6568
  o.errors << Shapes::ShapeRef.new(shape: OpsItemInvalidParameterException)
6569
+ o.errors << Shapes::ShapeRef.new(shape: OpsItemAccessDeniedException)
6453
6570
  end)
6454
6571
 
6455
6572
  api.add_operation(:update_ops_metadata, Seahorse::Model::Operation.new.tap do |o|
@@ -333,6 +333,20 @@ module Aws::SSM
333
333
  end
334
334
  end
335
335
 
336
+ class DeleteResourcePolicy
337
+ def self.build(context)
338
+ unless context.config.regional_endpoint
339
+ endpoint = context.config.endpoint.to_s
340
+ end
341
+ Aws::SSM::EndpointParameters.new(
342
+ region: context.config.region,
343
+ use_dual_stack: context.config.use_dualstack_endpoint,
344
+ use_fips: context.config.use_fips_endpoint,
345
+ endpoint: endpoint,
346
+ )
347
+ end
348
+ end
349
+
336
350
  class DeregisterManagedInstance
337
351
  def self.build(context)
338
352
  unless context.config.regional_endpoint
@@ -1173,6 +1187,20 @@ module Aws::SSM
1173
1187
  end
1174
1188
  end
1175
1189
 
1190
+ class GetResourcePolicies
1191
+ def self.build(context)
1192
+ unless context.config.regional_endpoint
1193
+ endpoint = context.config.endpoint.to_s
1194
+ end
1195
+ Aws::SSM::EndpointParameters.new(
1196
+ region: context.config.region,
1197
+ use_dual_stack: context.config.use_dualstack_endpoint,
1198
+ use_fips: context.config.use_fips_endpoint,
1199
+ endpoint: endpoint,
1200
+ )
1201
+ end
1202
+ end
1203
+
1176
1204
  class GetServiceSetting
1177
1205
  def self.build(context)
1178
1206
  unless context.config.regional_endpoint
@@ -1481,6 +1509,20 @@ module Aws::SSM
1481
1509
  end
1482
1510
  end
1483
1511
 
1512
+ class PutResourcePolicy
1513
+ def self.build(context)
1514
+ unless context.config.regional_endpoint
1515
+ endpoint = context.config.endpoint.to_s
1516
+ end
1517
+ Aws::SSM::EndpointParameters.new(
1518
+ region: context.config.region,
1519
+ use_dual_stack: context.config.use_dualstack_endpoint,
1520
+ use_fips: context.config.use_fips_endpoint,
1521
+ endpoint: endpoint,
1522
+ )
1523
+ end
1524
+ end
1525
+
1484
1526
  class RegisterDefaultPatchBaseline
1485
1527
  def self.build(context)
1486
1528
  unless context.config.regional_endpoint