aws-sdk-iotsitewise 1.10.0 → 1.15.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: d305379c89444298a4b122ef07db07dcce29001e40b3e410c352165cc7c41396
4
- data.tar.gz: 9c31118ed6b51bf11500429306db72150213e725156b4874cf1a9905dba2ae7d
3
+ metadata.gz: ac4b695574efbb800c7b7fb99d8b5df540b14e4667763e13584da1a88124ad44
4
+ data.tar.gz: 65be80a4c8c44ad80e4d2051ecd015ffbd9eedf7fd2d0f9c5c122bb10e92f795
5
5
  SHA512:
6
- metadata.gz: bdac6f7fdc947ddb549cef8f438962551283404bd4a6a6cf02232455a5272c4773c1c7eb3474a49c1306181511bcc6e990836503099e3619325c4bbdfb915a88
7
- data.tar.gz: 3fe64c09c3b19457a95ca448a064a3e57eeb2a78519cf72968af4c17b009c7102fda0cd669677b4fa822120d797f889d7d74283109addcde40a4f8732a50f32d
6
+ metadata.gz: 1636c172907f9c13a3707bbe27ba578190c31b4c5e8fe1b93973ad5fe3b093f8229fc119c97cb17f78d1773681871bd8994efbcf86cef49af33162abaaa822d3
7
+ data.tar.gz: 4c6397f8d3188110528769dbcfed58d2e1d6047761c62dd8d96c76e09f4cfcd38706389d851f49981b49bc5dbfd7ce1991b0f12486a8259545865ba22b72da40
@@ -49,6 +49,6 @@ require_relative 'aws-sdk-iotsitewise/customizations'
49
49
  # @!group service
50
50
  module Aws::IoTSiteWise
51
51
 
52
- GEM_VERSION = '1.10.0'
52
+ GEM_VERSION = '1.15.0'
53
53
 
54
54
  end
@@ -552,17 +552,17 @@ module Aws::IoTSiteWise
552
552
  req.send_request(options)
553
553
  end
554
554
 
555
- # Creates an access policy that grants the specified AWS Single Sign-On
556
- # user or group access to the specified AWS IoT SiteWise Monitor portal
557
- # or project resource.
555
+ # Creates an access policy that grants the specified identity (AWS SSO
556
+ # user, AWS SSO group, or IAM user) access to the specified AWS IoT
557
+ # SiteWise Monitor portal or project resource.
558
558
  #
559
559
  # @option params [required, Types::Identity] :access_policy_identity
560
- # The identity for this access policy. Choose either a `user` or a
561
- # `group` but not both.
560
+ # The identity for this access policy. Choose an AWS SSO user, an AWS
561
+ # SSO group, or an IAM user.
562
562
  #
563
563
  # @option params [required, Types::Resource] :access_policy_resource
564
564
  # The AWS IoT SiteWise Monitor resource for this access policy. Choose
565
- # either `portal` or `project` but not both.
565
+ # either a portal or a project.
566
566
  #
567
567
  # @option params [required, String] :access_policy_permission
568
568
  # The permission level for this access policy. Note that a project
@@ -600,6 +600,9 @@ module Aws::IoTSiteWise
600
600
  # group: {
601
601
  # id: "IdentityId", # required
602
602
  # },
603
+ # iam_user: {
604
+ # arn: "ARN", # required
605
+ # },
603
606
  # },
604
607
  # access_policy_resource: { # required
605
608
  # portal: {
@@ -954,23 +957,19 @@ module Aws::IoTSiteWise
954
957
  req.send_request(options)
955
958
  end
956
959
 
957
- # Creates a portal, which can contain projects and dashboards. Before
958
- # you can create a portal, you must enable AWS Single Sign-On. AWS IoT
959
- # SiteWise Monitor uses AWS SSO to manage user permissions. For more
960
- # information, see [Enabling AWS SSO][1] in the *AWS IoT SiteWise User
961
- # Guide*.
960
+ # Creates a portal, which can contain projects and dashboards. AWS IoT
961
+ # SiteWise Monitor uses AWS SSO or IAM to authenticate portal users and
962
+ # manage user permissions.
962
963
  #
963
- # <note markdown="1"> Before you can sign in to a new portal, you must add at least one AWS
964
- # SSO user or group to that portal. For more information, see [Adding or
965
- # removing portal administrators][2] in the *AWS IoT SiteWise User
966
- # Guide*.
964
+ # <note markdown="1"> Before you can sign in to a new portal, you must add at least one
965
+ # identity to that portal. For more information, see [Adding or removing
966
+ # portal administrators][1] in the *AWS IoT SiteWise User Guide*.
967
967
  #
968
968
  # </note>
969
969
  #
970
970
  #
971
971
  #
972
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso
973
- # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/administer-portals.html#portal-change-admins
972
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/administer-portals.html#portal-change-admins
974
973
  #
975
974
  # @option params [required, String] :portal_name
976
975
  # A friendly name for the portal.
@@ -1013,6 +1012,30 @@ module Aws::IoTSiteWise
1013
1012
  #
1014
1013
  # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
1015
1014
  #
1015
+ # @option params [String] :portal_auth_mode
1016
+ # The service to use to authenticate users to the portal. Choose from
1017
+ # the following options:
1018
+ #
1019
+ # * `SSO` – The portal uses AWS Single Sign-On to authenticate users and
1020
+ # manage user permissions. Before you can create a portal that uses
1021
+ # AWS SSO, you must enable AWS SSO. For more information, see
1022
+ # [Enabling AWS SSO][1] in the *AWS IoT SiteWise User Guide*. This
1023
+ # option is only available in AWS Regions other than the China
1024
+ # Regions.
1025
+ #
1026
+ # * `IAM` – The portal uses AWS Identity and Access Management (IAM) to
1027
+ # authenticate users and manage user permissions. IAM users must have
1028
+ # the `iotsitewise:CreatePresignedPortalUrl` permission to sign in to
1029
+ # the portal. This option is only available in the China Regions.
1030
+ #
1031
+ # You can't change this value after you create a portal.
1032
+ #
1033
+ # Default: `SSO`
1034
+ #
1035
+ #
1036
+ #
1037
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso
1038
+ #
1016
1039
  # @return [Types::CreatePortalResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1017
1040
  #
1018
1041
  # * {Types::CreatePortalResponse#portal_id #portal_id} => String
@@ -1036,6 +1059,7 @@ module Aws::IoTSiteWise
1036
1059
  # tags: {
1037
1060
  # "TagKey" => "TagValue",
1038
1061
  # },
1062
+ # portal_auth_mode: "IAM", # accepts IAM, SSO
1039
1063
  # })
1040
1064
  #
1041
1065
  # @example Response structure
@@ -1055,6 +1079,42 @@ module Aws::IoTSiteWise
1055
1079
  req.send_request(options)
1056
1080
  end
1057
1081
 
1082
+ # Creates a pre-signed URL to a portal. Use this operation to create
1083
+ # URLs to portals that use AWS Identity and Access Management (IAM) to
1084
+ # authenticate users. An IAM user with access to a portal can call this
1085
+ # API to get a URL to that portal. The URL contains an authentication
1086
+ # token that lets the IAM user access the portal.
1087
+ #
1088
+ # @option params [required, String] :portal_id
1089
+ # The ID of the portal to access.
1090
+ #
1091
+ # @option params [Integer] :session_duration_seconds
1092
+ # The duration (in seconds) for which the session at the URL is valid.
1093
+ #
1094
+ # Default: 43,200 seconds (12 hours)
1095
+ #
1096
+ # @return [Types::CreatePresignedPortalUrlResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1097
+ #
1098
+ # * {Types::CreatePresignedPortalUrlResponse#presigned_portal_url #presigned_portal_url} => String
1099
+ #
1100
+ # @example Request syntax with placeholder values
1101
+ #
1102
+ # resp = client.create_presigned_portal_url({
1103
+ # portal_id: "ID", # required
1104
+ # session_duration_seconds: 1,
1105
+ # })
1106
+ #
1107
+ # @example Response structure
1108
+ #
1109
+ # resp.presigned_portal_url #=> String
1110
+ #
1111
+ # @overload create_presigned_portal_url(params = {})
1112
+ # @param [Hash] params ({})
1113
+ def create_presigned_portal_url(params = {}, options = {})
1114
+ req = build_request(:create_presigned_portal_url, params)
1115
+ req.send_request(options)
1116
+ end
1117
+
1058
1118
  # Creates a project in the specified portal.
1059
1119
  #
1060
1120
  # @option params [required, String] :portal_id
@@ -1112,10 +1172,9 @@ module Aws::IoTSiteWise
1112
1172
  req.send_request(options)
1113
1173
  end
1114
1174
 
1115
- # Deletes an access policy that grants the specified AWS Single Sign-On
1116
- # identity access to the specified AWS IoT SiteWise Monitor resource.
1117
- # You can use this operation to revoke access to an AWS IoT SiteWise
1118
- # Monitor resource.
1175
+ # Deletes an access policy that grants the specified identity access to
1176
+ # the specified AWS IoT SiteWise Monitor resource. You can use this
1177
+ # operation to revoke access to an AWS IoT SiteWise Monitor resource.
1119
1178
  #
1120
1179
  # @option params [required, String] :access_policy_id
1121
1180
  # The ID of the access policy to be deleted.
@@ -1270,12 +1329,6 @@ module Aws::IoTSiteWise
1270
1329
 
1271
1330
  # Deletes a gateway from AWS IoT SiteWise. When you delete a gateway,
1272
1331
  # some of the gateway's files remain in your gateway's file system.
1273
- # For more information, see [Data retention][1] in the *AWS IoT SiteWise
1274
- # User Guide*.
1275
- #
1276
- #
1277
- #
1278
- # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/data-retention.html
1279
1332
  #
1280
1333
  # @option params [required, String] :gateway_id
1281
1334
  # The ID of the gateway to delete.
@@ -1361,8 +1414,8 @@ module Aws::IoTSiteWise
1361
1414
  req.send_request(options)
1362
1415
  end
1363
1416
 
1364
- # Describes an access policy, which specifies an AWS SSO user or
1365
- # group's access to an AWS IoT SiteWise Monitor portal or project.
1417
+ # Describes an access policy, which specifies an identity's access to
1418
+ # an AWS IoT SiteWise Monitor portal or project.
1366
1419
  #
1367
1420
  # @option params [required, String] :access_policy_id
1368
1421
  # The ID of the access policy.
@@ -1389,6 +1442,7 @@ module Aws::IoTSiteWise
1389
1442
  # resp.access_policy_arn #=> String
1390
1443
  # resp.access_policy_identity.user.id #=> String
1391
1444
  # resp.access_policy_identity.group.id #=> String
1445
+ # resp.access_policy_identity.iam_user.arn #=> String
1392
1446
  # resp.access_policy_resource.portal.id #=> String
1393
1447
  # resp.access_policy_resource.project.id #=> String
1394
1448
  # resp.access_policy_permission #=> String, one of "ADMINISTRATOR", "VIEWER"
@@ -1638,6 +1692,36 @@ module Aws::IoTSiteWise
1638
1692
  req.send_request(options)
1639
1693
  end
1640
1694
 
1695
+ # Retrieves information about the default encryption configuration for
1696
+ # the AWS account in the default or specified region. For more
1697
+ # information, see [Key management][1] in the *AWS IoT SiteWise User
1698
+ # Guide*.
1699
+ #
1700
+ #
1701
+ #
1702
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html
1703
+ #
1704
+ # @return [Types::DescribeDefaultEncryptionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1705
+ #
1706
+ # * {Types::DescribeDefaultEncryptionConfigurationResponse#encryption_type #encryption_type} => String
1707
+ # * {Types::DescribeDefaultEncryptionConfigurationResponse#kms_key_arn #kms_key_arn} => String
1708
+ # * {Types::DescribeDefaultEncryptionConfigurationResponse#configuration_status #configuration_status} => Types::ConfigurationStatus
1709
+ #
1710
+ # @example Response structure
1711
+ #
1712
+ # resp.encryption_type #=> String, one of "SITEWISE_DEFAULT_ENCRYPTION", "KMS_BASED_ENCRYPTION"
1713
+ # resp.kms_key_arn #=> String
1714
+ # resp.configuration_status.state #=> String, one of "ACTIVE", "UPDATE_IN_PROGRESS", "UPDATE_FAILED"
1715
+ # resp.configuration_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
1716
+ # resp.configuration_status.error.message #=> String
1717
+ #
1718
+ # @overload describe_default_encryption_configuration(params = {})
1719
+ # @param [Hash] params ({})
1720
+ def describe_default_encryption_configuration(params = {}, options = {})
1721
+ req = build_request(:describe_default_encryption_configuration, params)
1722
+ req.send_request(options)
1723
+ end
1724
+
1641
1725
  # Retrieves information about a gateway.
1642
1726
  #
1643
1727
  # @option params [required, String] :gateway_id
@@ -1764,6 +1848,7 @@ module Aws::IoTSiteWise
1764
1848
  # * {Types::DescribePortalResponse#portal_last_update_date #portal_last_update_date} => Time
1765
1849
  # * {Types::DescribePortalResponse#portal_logo_image_location #portal_logo_image_location} => Types::ImageLocation
1766
1850
  # * {Types::DescribePortalResponse#role_arn #role_arn} => String
1851
+ # * {Types::DescribePortalResponse#portal_auth_mode #portal_auth_mode} => String
1767
1852
  #
1768
1853
  # @example Request syntax with placeholder values
1769
1854
  #
@@ -1788,6 +1873,7 @@ module Aws::IoTSiteWise
1788
1873
  # resp.portal_logo_image_location.id #=> String
1789
1874
  # resp.portal_logo_image_location.url #=> String
1790
1875
  # resp.role_arn #=> String
1876
+ # resp.portal_auth_mode #=> String, one of "IAM", "SSO"
1791
1877
  #
1792
1878
  #
1793
1879
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -2152,17 +2238,17 @@ module Aws::IoTSiteWise
2152
2238
  req.send_request(options)
2153
2239
  end
2154
2240
 
2155
- # Retrieves a paginated list of access policies for an AWS SSO identity
2156
- # (a user or group) or an AWS IoT SiteWise Monitor resource (a portal or
2157
- # project).
2241
+ # Retrieves a paginated list of access policies for an identity (an AWS
2242
+ # SSO user, an AWS SSO group, or an IAM user) or an AWS IoT SiteWise
2243
+ # Monitor resource (a portal or project).
2158
2244
  #
2159
2245
  # @option params [String] :identity_type
2160
- # The type of identity (user or group). This parameter is required if
2161
- # you specify `identityId`.
2246
+ # The type of identity (AWS SSO user, AWS SSO group, or IAM user). This
2247
+ # parameter is required if you specify `identityId`.
2162
2248
  #
2163
2249
  # @option params [String] :identity_id
2164
2250
  # The ID of the identity. This parameter is required if you specify
2165
- # `identityType`.
2251
+ # `USER` or `GROUP` for `identityType`.
2166
2252
  #
2167
2253
  # @option params [String] :resource_type
2168
2254
  # The type of resource (portal or project). This parameter is required
@@ -2172,6 +2258,15 @@ module Aws::IoTSiteWise
2172
2258
  # The ID of the resource. This parameter is required if you specify
2173
2259
  # `resourceType`.
2174
2260
  #
2261
+ # @option params [String] :iam_arn
2262
+ # The ARN of the IAM user. For more information, see [IAM ARNs][1] in
2263
+ # the *IAM User Guide*. This parameter is required if you specify `IAM`
2264
+ # for `identityType`.
2265
+ #
2266
+ #
2267
+ #
2268
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
2269
+ #
2175
2270
  # @option params [String] :next_token
2176
2271
  # The token to be used for the next set of paginated results.
2177
2272
  #
@@ -2190,10 +2285,11 @@ module Aws::IoTSiteWise
2190
2285
  # @example Request syntax with placeholder values
2191
2286
  #
2192
2287
  # resp = client.list_access_policies({
2193
- # identity_type: "USER", # accepts USER, GROUP
2288
+ # identity_type: "USER", # accepts USER, GROUP, IAM
2194
2289
  # identity_id: "IdentityId",
2195
2290
  # resource_type: "PORTAL", # accepts PORTAL, PROJECT
2196
2291
  # resource_id: "ID",
2292
+ # iam_arn: "ARN",
2197
2293
  # next_token: "NextToken",
2198
2294
  # max_results: 1,
2199
2295
  # })
@@ -2204,6 +2300,7 @@ module Aws::IoTSiteWise
2204
2300
  # resp.access_policy_summaries[0].id #=> String
2205
2301
  # resp.access_policy_summaries[0].identity.user.id #=> String
2206
2302
  # resp.access_policy_summaries[0].identity.group.id #=> String
2303
+ # resp.access_policy_summaries[0].identity.iam_user.arn #=> String
2207
2304
  # resp.access_policy_summaries[0].resource.portal.id #=> String
2208
2305
  # resp.access_policy_summaries[0].resource.project.id #=> String
2209
2306
  # resp.access_policy_summaries[0].permission #=> String, one of "ADMINISTRATOR", "VIEWER"
@@ -2686,6 +2783,50 @@ module Aws::IoTSiteWise
2686
2783
  req.send_request(options)
2687
2784
  end
2688
2785
 
2786
+ # Sets the default encryption configuration for the AWS account. For
2787
+ # more information, see [Key management][1] in the *AWS IoT SiteWise
2788
+ # User Guide*.
2789
+ #
2790
+ #
2791
+ #
2792
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/key-management.html
2793
+ #
2794
+ # @option params [required, String] :encryption_type
2795
+ # The type of encryption used for the encryption configuration.
2796
+ #
2797
+ # @option params [String] :kms_key_id
2798
+ # The Key ID of the customer managed customer master key (CMK) used for
2799
+ # AWS KMS encryption. This is required if you use
2800
+ # `KMS_BASED_ENCRYPTION`.
2801
+ #
2802
+ # @return [Types::PutDefaultEncryptionConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2803
+ #
2804
+ # * {Types::PutDefaultEncryptionConfigurationResponse#encryption_type #encryption_type} => String
2805
+ # * {Types::PutDefaultEncryptionConfigurationResponse#kms_key_arn #kms_key_arn} => String
2806
+ # * {Types::PutDefaultEncryptionConfigurationResponse#configuration_status #configuration_status} => Types::ConfigurationStatus
2807
+ #
2808
+ # @example Request syntax with placeholder values
2809
+ #
2810
+ # resp = client.put_default_encryption_configuration({
2811
+ # encryption_type: "SITEWISE_DEFAULT_ENCRYPTION", # required, accepts SITEWISE_DEFAULT_ENCRYPTION, KMS_BASED_ENCRYPTION
2812
+ # kms_key_id: "KmsKeyId",
2813
+ # })
2814
+ #
2815
+ # @example Response structure
2816
+ #
2817
+ # resp.encryption_type #=> String, one of "SITEWISE_DEFAULT_ENCRYPTION", "KMS_BASED_ENCRYPTION"
2818
+ # resp.kms_key_arn #=> String
2819
+ # resp.configuration_status.state #=> String, one of "ACTIVE", "UPDATE_IN_PROGRESS", "UPDATE_FAILED"
2820
+ # resp.configuration_status.error.code #=> String, one of "VALIDATION_ERROR", "INTERNAL_FAILURE"
2821
+ # resp.configuration_status.error.message #=> String
2822
+ #
2823
+ # @overload put_default_encryption_configuration(params = {})
2824
+ # @param [Hash] params ({})
2825
+ def put_default_encryption_configuration(params = {}, options = {})
2826
+ req = build_request(:put_default_encryption_configuration, params)
2827
+ req.send_request(options)
2828
+ end
2829
+
2689
2830
  # Sets logging options for AWS IoT SiteWise.
2690
2831
  #
2691
2832
  # @option params [required, Types::LoggingOptions] :logging_options
@@ -2773,20 +2914,19 @@ module Aws::IoTSiteWise
2773
2914
  req.send_request(options)
2774
2915
  end
2775
2916
 
2776
- # Updates an existing access policy that specifies an AWS SSO user or
2777
- # group's access to an AWS IoT SiteWise Monitor portal or project
2778
- # resource.
2917
+ # Updates an existing access policy that specifies an identity's access
2918
+ # to an AWS IoT SiteWise Monitor portal or project resource.
2779
2919
  #
2780
2920
  # @option params [required, String] :access_policy_id
2781
2921
  # The ID of the access policy.
2782
2922
  #
2783
2923
  # @option params [required, Types::Identity] :access_policy_identity
2784
- # The identity for this access policy. Choose either a `user` or a
2785
- # `group` but not both.
2924
+ # The identity for this access policy. Choose an AWS SSO user, an AWS
2925
+ # SSO group, or an IAM user.
2786
2926
  #
2787
2927
  # @option params [required, Types::Resource] :access_policy_resource
2788
2928
  # The AWS IoT SiteWise Monitor resource for this access policy. Choose
2789
- # either `portal` or `project` but not both.
2929
+ # either a portal or a project.
2790
2930
  #
2791
2931
  # @option params [required, String] :access_policy_permission
2792
2932
  # The permission level for this access policy. Note that a project
@@ -2813,6 +2953,9 @@ module Aws::IoTSiteWise
2813
2953
  # group: {
2814
2954
  # id: "IdentityId", # required
2815
2955
  # },
2956
+ # iam_user: {
2957
+ # arn: "ARN", # required
2958
+ # },
2816
2959
  # },
2817
2960
  # access_policy_resource: { # required
2818
2961
  # portal: {
@@ -2890,12 +3033,12 @@ module Aws::IoTSiteWise
2890
3033
  # must include their IDs and definitions in the updated asset model
2891
3034
  # payload. For more information, see [DescribeAssetModel][2].
2892
3035
  #
2893
- # If you remove a property from an asset model or update a property's
2894
- # formula expression, AWS IoT SiteWise deletes all previous data for
2895
- # that property. If you remove a hierarchy definition from an asset
2896
- # model, AWS IoT SiteWise disassociates every asset associated with that
2897
- # hierarchy. You can't change the type or data type of an existing
2898
- # property.
3036
+ # If you remove a property from an asset model, AWS IoT SiteWise
3037
+ # deletes
3038
+ # all previous data for that property. If you remove a hierarchy
3039
+ # definition from an asset model, AWS IoT SiteWise disassociates every
3040
+ # asset associated with that hierarchy. You can't change the type or
3041
+ # data type of an existing property.
2899
3042
  #
2900
3043
  #
2901
3044
  #
@@ -3348,7 +3491,7 @@ module Aws::IoTSiteWise
3348
3491
  params: params,
3349
3492
  config: config)
3350
3493
  context[:gem_name] = 'aws-sdk-iotsitewise'
3351
- context[:gem_version] = '1.10.0'
3494
+ context[:gem_version] = '1.15.0'
3352
3495
  Seahorse::Client::Request.new(handlers, context)
3353
3496
  end
3354
3497
 
@@ -55,6 +55,7 @@ module Aws::IoTSiteWise
55
55
  AssociatedAssetsSummaries = Shapes::ListShape.new(name: 'AssociatedAssetsSummaries')
56
56
  AssociatedAssetsSummary = Shapes::StructureShape.new(name: 'AssociatedAssetsSummary')
57
57
  Attribute = Shapes::StructureShape.new(name: 'Attribute')
58
+ AuthMode = Shapes::StringShape.new(name: 'AuthMode')
58
59
  BatchAssociateProjectAssetsErrors = Shapes::ListShape.new(name: 'BatchAssociateProjectAssetsErrors')
59
60
  BatchAssociateProjectAssetsRequest = Shapes::StructureShape.new(name: 'BatchAssociateProjectAssetsRequest')
60
61
  BatchAssociateProjectAssetsResponse = Shapes::StructureShape.new(name: 'BatchAssociateProjectAssetsResponse')
@@ -72,6 +73,9 @@ module Aws::IoTSiteWise
72
73
  CapabilityNamespace = Shapes::StringShape.new(name: 'CapabilityNamespace')
73
74
  CapabilitySyncStatus = Shapes::StringShape.new(name: 'CapabilitySyncStatus')
74
75
  ClientToken = Shapes::StringShape.new(name: 'ClientToken')
76
+ ConfigurationErrorDetails = Shapes::StructureShape.new(name: 'ConfigurationErrorDetails')
77
+ ConfigurationState = Shapes::StringShape.new(name: 'ConfigurationState')
78
+ ConfigurationStatus = Shapes::StructureShape.new(name: 'ConfigurationStatus')
75
79
  ConflictingOperationException = Shapes::StructureShape.new(name: 'ConflictingOperationException')
76
80
  CreateAccessPolicyRequest = Shapes::StructureShape.new(name: 'CreateAccessPolicyRequest')
77
81
  CreateAccessPolicyResponse = Shapes::StructureShape.new(name: 'CreateAccessPolicyResponse')
@@ -85,6 +89,8 @@ module Aws::IoTSiteWise
85
89
  CreateGatewayResponse = Shapes::StructureShape.new(name: 'CreateGatewayResponse')
86
90
  CreatePortalRequest = Shapes::StructureShape.new(name: 'CreatePortalRequest')
87
91
  CreatePortalResponse = Shapes::StructureShape.new(name: 'CreatePortalResponse')
92
+ CreatePresignedPortalUrlRequest = Shapes::StructureShape.new(name: 'CreatePresignedPortalUrlRequest')
93
+ CreatePresignedPortalUrlResponse = Shapes::StructureShape.new(name: 'CreatePresignedPortalUrlResponse')
88
94
  CreateProjectRequest = Shapes::StructureShape.new(name: 'CreateProjectRequest')
89
95
  CreateProjectResponse = Shapes::StructureShape.new(name: 'CreateProjectResponse')
90
96
  DashboardDefinition = Shapes::StringShape.new(name: 'DashboardDefinition')
@@ -114,6 +120,8 @@ module Aws::IoTSiteWise
114
120
  DescribeAssetResponse = Shapes::StructureShape.new(name: 'DescribeAssetResponse')
115
121
  DescribeDashboardRequest = Shapes::StructureShape.new(name: 'DescribeDashboardRequest')
116
122
  DescribeDashboardResponse = Shapes::StructureShape.new(name: 'DescribeDashboardResponse')
123
+ DescribeDefaultEncryptionConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeDefaultEncryptionConfigurationRequest')
124
+ DescribeDefaultEncryptionConfigurationResponse = Shapes::StructureShape.new(name: 'DescribeDefaultEncryptionConfigurationResponse')
117
125
  DescribeGatewayCapabilityConfigurationRequest = Shapes::StructureShape.new(name: 'DescribeGatewayCapabilityConfigurationRequest')
118
126
  DescribeGatewayCapabilityConfigurationResponse = Shapes::StructureShape.new(name: 'DescribeGatewayCapabilityConfigurationResponse')
119
127
  DescribeGatewayRequest = Shapes::StructureShape.new(name: 'DescribeGatewayRequest')
@@ -127,6 +135,7 @@ module Aws::IoTSiteWise
127
135
  Description = Shapes::StringShape.new(name: 'Description')
128
136
  DisassociateAssetsRequest = Shapes::StructureShape.new(name: 'DisassociateAssetsRequest')
129
137
  Email = Shapes::StringShape.new(name: 'Email')
138
+ EncryptionType = Shapes::StringShape.new(name: 'EncryptionType')
130
139
  EntryId = Shapes::StringShape.new(name: 'EntryId')
131
140
  ErrorCode = Shapes::StringShape.new(name: 'ErrorCode')
132
141
  ErrorDetails = Shapes::StructureShape.new(name: 'ErrorDetails')
@@ -148,6 +157,7 @@ module Aws::IoTSiteWise
148
157
  GetAssetPropertyValueResponse = Shapes::StructureShape.new(name: 'GetAssetPropertyValueResponse')
149
158
  Greengrass = Shapes::StructureShape.new(name: 'Greengrass')
150
159
  GroupIdentity = Shapes::StructureShape.new(name: 'GroupIdentity')
160
+ IAMUserIdentity = Shapes::StructureShape.new(name: 'IAMUserIdentity')
151
161
  ID = Shapes::StringShape.new(name: 'ID')
152
162
  IDs = Shapes::ListShape.new(name: 'IDs')
153
163
  Identity = Shapes::StructureShape.new(name: 'Identity')
@@ -161,6 +171,7 @@ module Aws::IoTSiteWise
161
171
  InternalFailureException = Shapes::StructureShape.new(name: 'InternalFailureException')
162
172
  Interval = Shapes::StringShape.new(name: 'Interval')
163
173
  InvalidRequestException = Shapes::StructureShape.new(name: 'InvalidRequestException')
174
+ KmsKeyId = Shapes::StringShape.new(name: 'KmsKeyId')
164
175
  LimitExceededException = Shapes::StructureShape.new(name: 'LimitExceededException')
165
176
  ListAccessPoliciesRequest = Shapes::StructureShape.new(name: 'ListAccessPoliciesRequest')
166
177
  ListAccessPoliciesResponse = Shapes::StructureShape.new(name: 'ListAccessPoliciesResponse')
@@ -220,6 +231,8 @@ module Aws::IoTSiteWise
220
231
  PropertyValueStringValue = Shapes::StringShape.new(name: 'PropertyValueStringValue')
221
232
  PutAssetPropertyValueEntries = Shapes::ListShape.new(name: 'PutAssetPropertyValueEntries')
222
233
  PutAssetPropertyValueEntry = Shapes::StructureShape.new(name: 'PutAssetPropertyValueEntry')
234
+ PutDefaultEncryptionConfigurationRequest = Shapes::StructureShape.new(name: 'PutDefaultEncryptionConfigurationRequest')
235
+ PutDefaultEncryptionConfigurationResponse = Shapes::StructureShape.new(name: 'PutDefaultEncryptionConfigurationResponse')
223
236
  PutLoggingOptionsRequest = Shapes::StructureShape.new(name: 'PutLoggingOptionsRequest')
224
237
  PutLoggingOptionsResponse = Shapes::StructureShape.new(name: 'PutLoggingOptionsResponse')
225
238
  Qualities = Shapes::ListShape.new(name: 'Qualities')
@@ -233,6 +246,7 @@ module Aws::IoTSiteWise
233
246
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
234
247
  SSOApplicationId = Shapes::StringShape.new(name: 'SSOApplicationId')
235
248
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
249
+ SessionDurationSeconds = Shapes::IntegerShape.new(name: 'SessionDurationSeconds')
236
250
  TagKey = Shapes::StringShape.new(name: 'TagKey')
237
251
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
238
252
  TagMap = Shapes::MapShape.new(name: 'TagMap')
@@ -453,6 +467,14 @@ module Aws::IoTSiteWise
453
467
  BatchPutAssetPropertyValueResponse.add_member(:error_entries, Shapes::ShapeRef.new(shape: BatchPutAssetPropertyErrorEntries, required: true, location_name: "errorEntries"))
454
468
  BatchPutAssetPropertyValueResponse.struct_class = Types::BatchPutAssetPropertyValueResponse
455
469
 
470
+ ConfigurationErrorDetails.add_member(:code, Shapes::ShapeRef.new(shape: ErrorCode, required: true, location_name: "code"))
471
+ ConfigurationErrorDetails.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
472
+ ConfigurationErrorDetails.struct_class = Types::ConfigurationErrorDetails
473
+
474
+ ConfigurationStatus.add_member(:state, Shapes::ShapeRef.new(shape: ConfigurationState, required: true, location_name: "state"))
475
+ ConfigurationStatus.add_member(:error, Shapes::ShapeRef.new(shape: ConfigurationErrorDetails, location_name: "error"))
476
+ ConfigurationStatus.struct_class = Types::ConfigurationStatus
477
+
456
478
  ConflictingOperationException.add_member(:message, Shapes::ShapeRef.new(shape: ErrorMessage, required: true, location_name: "message"))
457
479
  ConflictingOperationException.add_member(:resource_id, Shapes::ShapeRef.new(shape: ResourceId, required: true, location_name: "resourceId"))
458
480
  ConflictingOperationException.add_member(:resource_arn, Shapes::ShapeRef.new(shape: ResourceArn, required: true, location_name: "resourceArn"))
@@ -521,6 +543,7 @@ module Aws::IoTSiteWise
521
543
  CreatePortalRequest.add_member(:portal_logo_image_file, Shapes::ShapeRef.new(shape: ImageFile, location_name: "portalLogoImageFile"))
522
544
  CreatePortalRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "roleArn"))
523
545
  CreatePortalRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
546
+ CreatePortalRequest.add_member(:portal_auth_mode, Shapes::ShapeRef.new(shape: AuthMode, location_name: "portalAuthMode"))
524
547
  CreatePortalRequest.struct_class = Types::CreatePortalRequest
525
548
 
526
549
  CreatePortalResponse.add_member(:portal_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "portalId"))
@@ -530,6 +553,13 @@ module Aws::IoTSiteWise
530
553
  CreatePortalResponse.add_member(:sso_application_id, Shapes::ShapeRef.new(shape: SSOApplicationId, required: true, location_name: "ssoApplicationId"))
531
554
  CreatePortalResponse.struct_class = Types::CreatePortalResponse
532
555
 
556
+ CreatePresignedPortalUrlRequest.add_member(:portal_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "portalId"))
557
+ CreatePresignedPortalUrlRequest.add_member(:session_duration_seconds, Shapes::ShapeRef.new(shape: SessionDurationSeconds, location: "querystring", location_name: "sessionDurationSeconds"))
558
+ CreatePresignedPortalUrlRequest.struct_class = Types::CreatePresignedPortalUrlRequest
559
+
560
+ CreatePresignedPortalUrlResponse.add_member(:presigned_portal_url, Shapes::ShapeRef.new(shape: Url, required: true, location_name: "presignedPortalUrl"))
561
+ CreatePresignedPortalUrlResponse.struct_class = Types::CreatePresignedPortalUrlResponse
562
+
533
563
  CreateProjectRequest.add_member(:portal_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "portalId"))
534
564
  CreateProjectRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "projectName"))
535
565
  CreateProjectRequest.add_member(:project_description, Shapes::ShapeRef.new(shape: Description, location_name: "projectDescription"))
@@ -655,6 +685,13 @@ module Aws::IoTSiteWise
655
685
  DescribeDashboardResponse.add_member(:dashboard_last_update_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "dashboardLastUpdateDate"))
656
686
  DescribeDashboardResponse.struct_class = Types::DescribeDashboardResponse
657
687
 
688
+ DescribeDefaultEncryptionConfigurationRequest.struct_class = Types::DescribeDefaultEncryptionConfigurationRequest
689
+
690
+ DescribeDefaultEncryptionConfigurationResponse.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "encryptionType"))
691
+ DescribeDefaultEncryptionConfigurationResponse.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "kmsKeyArn"))
692
+ DescribeDefaultEncryptionConfigurationResponse.add_member(:configuration_status, Shapes::ShapeRef.new(shape: ConfigurationStatus, required: true, location_name: "configurationStatus"))
693
+ DescribeDefaultEncryptionConfigurationResponse.struct_class = Types::DescribeDefaultEncryptionConfigurationResponse
694
+
658
695
  DescribeGatewayCapabilityConfigurationRequest.add_member(:gateway_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "gatewayId"))
659
696
  DescribeGatewayCapabilityConfigurationRequest.add_member(:capability_namespace, Shapes::ShapeRef.new(shape: CapabilityNamespace, required: true, location: "uri", location_name: "capabilityNamespace"))
660
697
  DescribeGatewayCapabilityConfigurationRequest.struct_class = Types::DescribeGatewayCapabilityConfigurationRequest
@@ -697,6 +734,7 @@ module Aws::IoTSiteWise
697
734
  DescribePortalResponse.add_member(:portal_last_update_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "portalLastUpdateDate"))
698
735
  DescribePortalResponse.add_member(:portal_logo_image_location, Shapes::ShapeRef.new(shape: ImageLocation, location_name: "portalLogoImageLocation"))
699
736
  DescribePortalResponse.add_member(:role_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "roleArn"))
737
+ DescribePortalResponse.add_member(:portal_auth_mode, Shapes::ShapeRef.new(shape: AuthMode, location_name: "portalAuthMode"))
700
738
  DescribePortalResponse.struct_class = Types::DescribePortalResponse
701
739
 
702
740
  DescribeProjectRequest.add_member(:project_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "projectId"))
@@ -791,10 +829,14 @@ module Aws::IoTSiteWise
791
829
  GroupIdentity.add_member(:id, Shapes::ShapeRef.new(shape: IdentityId, required: true, location_name: "id"))
792
830
  GroupIdentity.struct_class = Types::GroupIdentity
793
831
 
832
+ IAMUserIdentity.add_member(:arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "arn"))
833
+ IAMUserIdentity.struct_class = Types::IAMUserIdentity
834
+
794
835
  IDs.member = Shapes::ShapeRef.new(shape: ID)
795
836
 
796
837
  Identity.add_member(:user, Shapes::ShapeRef.new(shape: UserIdentity, location_name: "user"))
797
838
  Identity.add_member(:group, Shapes::ShapeRef.new(shape: GroupIdentity, location_name: "group"))
839
+ Identity.add_member(:iam_user, Shapes::ShapeRef.new(shape: IAMUserIdentity, location_name: "iamUser"))
798
840
  Identity.struct_class = Types::Identity
799
841
 
800
842
  Image.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
@@ -822,6 +864,7 @@ module Aws::IoTSiteWise
822
864
  ListAccessPoliciesRequest.add_member(:identity_id, Shapes::ShapeRef.new(shape: IdentityId, location: "querystring", location_name: "identityId"))
823
865
  ListAccessPoliciesRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location: "querystring", location_name: "resourceType"))
824
866
  ListAccessPoliciesRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ID, location: "querystring", location_name: "resourceId"))
867
+ ListAccessPoliciesRequest.add_member(:iam_arn, Shapes::ShapeRef.new(shape: ARN, location: "querystring", location_name: "iamArn"))
825
868
  ListAccessPoliciesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
826
869
  ListAccessPoliciesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
827
870
  ListAccessPoliciesRequest.struct_class = Types::ListAccessPoliciesRequest
@@ -984,6 +1027,15 @@ module Aws::IoTSiteWise
984
1027
  PutAssetPropertyValueEntry.add_member(:property_values, Shapes::ShapeRef.new(shape: AssetPropertyValues, required: true, location_name: "propertyValues"))
985
1028
  PutAssetPropertyValueEntry.struct_class = Types::PutAssetPropertyValueEntry
986
1029
 
1030
+ PutDefaultEncryptionConfigurationRequest.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "encryptionType"))
1031
+ PutDefaultEncryptionConfigurationRequest.add_member(:kms_key_id, Shapes::ShapeRef.new(shape: KmsKeyId, location_name: "kmsKeyId"))
1032
+ PutDefaultEncryptionConfigurationRequest.struct_class = Types::PutDefaultEncryptionConfigurationRequest
1033
+
1034
+ PutDefaultEncryptionConfigurationResponse.add_member(:encryption_type, Shapes::ShapeRef.new(shape: EncryptionType, required: true, location_name: "encryptionType"))
1035
+ PutDefaultEncryptionConfigurationResponse.add_member(:kms_key_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "kmsKeyArn"))
1036
+ PutDefaultEncryptionConfigurationResponse.add_member(:configuration_status, Shapes::ShapeRef.new(shape: ConfigurationStatus, required: true, location_name: "configurationStatus"))
1037
+ PutDefaultEncryptionConfigurationResponse.struct_class = Types::PutDefaultEncryptionConfigurationResponse
1038
+
987
1039
  PutLoggingOptionsRequest.add_member(:logging_options, Shapes::ShapeRef.new(shape: LoggingOptions, required: true, location_name: "loggingOptions"))
988
1040
  PutLoggingOptionsRequest.struct_class = Types::PutLoggingOptionsRequest
989
1041
 
@@ -1317,6 +1369,20 @@ module Aws::IoTSiteWise
1317
1369
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1318
1370
  end)
1319
1371
 
1372
+ api.add_operation(:create_presigned_portal_url, Seahorse::Model::Operation.new.tap do |o|
1373
+ o.name = "CreatePresignedPortalUrl"
1374
+ o.http_method = "GET"
1375
+ o.http_request_uri = "/portals/{portalId}/presigned-url"
1376
+ o.endpoint_pattern = {
1377
+ "hostPrefix" => "monitor.",
1378
+ }
1379
+ o.input = Shapes::ShapeRef.new(shape: CreatePresignedPortalUrlRequest)
1380
+ o.output = Shapes::ShapeRef.new(shape: CreatePresignedPortalUrlResponse)
1381
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1382
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1383
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1384
+ end)
1385
+
1320
1386
  api.add_operation(:create_project, Seahorse::Model::Operation.new.tap do |o|
1321
1387
  o.name = "CreateProject"
1322
1388
  o.http_method = "POST"
@@ -1516,6 +1582,17 @@ module Aws::IoTSiteWise
1516
1582
  o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1517
1583
  end)
1518
1584
 
1585
+ api.add_operation(:describe_default_encryption_configuration, Seahorse::Model::Operation.new.tap do |o|
1586
+ o.name = "DescribeDefaultEncryptionConfiguration"
1587
+ o.http_method = "GET"
1588
+ o.http_request_uri = "/configuration/account/encryption"
1589
+ o.input = Shapes::ShapeRef.new(shape: DescribeDefaultEncryptionConfigurationRequest)
1590
+ o.output = Shapes::ShapeRef.new(shape: DescribeDefaultEncryptionConfigurationResponse)
1591
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1592
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1593
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1594
+ end)
1595
+
1519
1596
  api.add_operation(:describe_gateway, Seahorse::Model::Operation.new.tap do |o|
1520
1597
  o.name = "DescribeGateway"
1521
1598
  o.http_method = "GET"
@@ -1861,6 +1938,19 @@ module Aws::IoTSiteWise
1861
1938
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
1862
1939
  end)
1863
1940
 
1941
+ api.add_operation(:put_default_encryption_configuration, Seahorse::Model::Operation.new.tap do |o|
1942
+ o.name = "PutDefaultEncryptionConfiguration"
1943
+ o.http_method = "POST"
1944
+ o.http_request_uri = "/configuration/account/encryption"
1945
+ o.input = Shapes::ShapeRef.new(shape: PutDefaultEncryptionConfigurationRequest)
1946
+ o.output = Shapes::ShapeRef.new(shape: PutDefaultEncryptionConfigurationResponse)
1947
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1948
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1949
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1950
+ o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1951
+ o.errors << Shapes::ShapeRef.new(shape: ConflictingOperationException)
1952
+ end)
1953
+
1864
1954
  api.add_operation(:put_logging_options, Seahorse::Model::Operation.new.tap do |o|
1865
1955
  o.name = "PutLoggingOptions"
1866
1956
  o.http_method = "PUT"
@@ -10,15 +10,15 @@
10
10
  module Aws::IoTSiteWise
11
11
  module Types
12
12
 
13
- # Contains an access policy that defines an AWS SSO identity's access
14
- # to an AWS IoT SiteWise Monitor resource.
13
+ # Contains an access policy that defines an identity's access to an AWS
14
+ # IoT SiteWise Monitor resource.
15
15
  #
16
16
  # @!attribute [rw] id
17
17
  # The ID of the access policy.
18
18
  # @return [String]
19
19
  #
20
20
  # @!attribute [rw] identity
21
- # The AWS SSO identity (a user or group).
21
+ # The identity (an AWS SSO user, an AWS SSO group, or an IAM user).
22
22
  # @return [Types::Identity]
23
23
  #
24
24
  # @!attribute [rw] resource
@@ -143,7 +143,7 @@ module Aws::IoTSiteWise
143
143
  #
144
144
  # @!attribute [rw] name
145
145
  # The hierarchy name provided in the [CreateAssetModel][1] or
146
- # [UpdateAssetModel][2] API.
146
+ # [UpdateAssetModel][2] API operation.
147
147
  #
148
148
  #
149
149
  #
@@ -177,7 +177,7 @@ module Aws::IoTSiteWise
177
177
  #
178
178
  # @!attribute [rw] name
179
179
  # The name of the asset model hierarchy that you specify by using the
180
- # [CreateAssetModel][1] or [UpdateAssetModel][2] API.
180
+ # [CreateAssetModel][1] or [UpdateAssetModel][2] API operation.
181
181
  #
182
182
  #
183
183
  #
@@ -212,7 +212,7 @@ module Aws::IoTSiteWise
212
212
  #
213
213
  # @!attribute [rw] name
214
214
  # The name of the asset model hierarchy definition (as specified in
215
- # [CreateAssetModel][1] or [UpdateAssetModel][2]).
215
+ # the [CreateAssetModel][1] or [UpdateAssetModel][2] API operation).
216
216
  #
217
217
  #
218
218
  #
@@ -937,6 +937,32 @@ module Aws::IoTSiteWise
937
937
  include Aws::Structure
938
938
  end
939
939
 
940
+ # @!attribute [rw] code
941
+ # @return [String]
942
+ #
943
+ # @!attribute [rw] message
944
+ # @return [String]
945
+ #
946
+ class ConfigurationErrorDetails < Struct.new(
947
+ :code,
948
+ :message)
949
+ SENSITIVE = []
950
+ include Aws::Structure
951
+ end
952
+
953
+ # @!attribute [rw] state
954
+ # @return [String]
955
+ #
956
+ # @!attribute [rw] error
957
+ # @return [Types::ConfigurationErrorDetails]
958
+ #
959
+ class ConfigurationStatus < Struct.new(
960
+ :state,
961
+ :error)
962
+ SENSITIVE = []
963
+ include Aws::Structure
964
+ end
965
+
940
966
  # Your request has conflicting operations. This can occur if you're
941
967
  # trying to perform more than one operation on the same resource at the
942
968
  # same time.
@@ -971,6 +997,9 @@ module Aws::IoTSiteWise
971
997
  # group: {
972
998
  # id: "IdentityId", # required
973
999
  # },
1000
+ # iam_user: {
1001
+ # arn: "ARN", # required
1002
+ # },
974
1003
  # },
975
1004
  # access_policy_resource: { # required
976
1005
  # portal: {
@@ -988,13 +1017,13 @@ module Aws::IoTSiteWise
988
1017
  # }
989
1018
  #
990
1019
  # @!attribute [rw] access_policy_identity
991
- # The identity for this access policy. Choose either a `user` or a
992
- # `group` but not both.
1020
+ # The identity for this access policy. Choose an AWS SSO user, an AWS
1021
+ # SSO group, or an IAM user.
993
1022
  # @return [Types::Identity]
994
1023
  #
995
1024
  # @!attribute [rw] access_policy_resource
996
1025
  # The AWS IoT SiteWise Monitor resource for this access policy. Choose
997
- # either `portal` or `project` but not both.
1026
+ # either a portal or a project.
998
1027
  # @return [Types::Resource]
999
1028
  #
1000
1029
  # @!attribute [rw] access_policy_permission
@@ -1450,6 +1479,7 @@ module Aws::IoTSiteWise
1450
1479
  # tags: {
1451
1480
  # "TagKey" => "TagValue",
1452
1481
  # },
1482
+ # portal_auth_mode: "IAM", # accepts IAM, SSO
1453
1483
  # }
1454
1484
  #
1455
1485
  # @!attribute [rw] portal_name
@@ -1500,6 +1530,32 @@ module Aws::IoTSiteWise
1500
1530
  # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
1501
1531
  # @return [Hash<String,String>]
1502
1532
  #
1533
+ # @!attribute [rw] portal_auth_mode
1534
+ # The service to use to authenticate users to the portal. Choose from
1535
+ # the following options:
1536
+ #
1537
+ # * `SSO` – The portal uses AWS Single Sign-On to authenticate users
1538
+ # and manage user permissions. Before you can create a portal that
1539
+ # uses AWS SSO, you must enable AWS SSO. For more information, see
1540
+ # [Enabling AWS SSO][1] in the *AWS IoT SiteWise User Guide*. This
1541
+ # option is only available in AWS Regions other than the China
1542
+ # Regions.
1543
+ #
1544
+ # * `IAM` – The portal uses AWS Identity and Access Management (IAM)
1545
+ # to authenticate users and manage user permissions. IAM users must
1546
+ # have the `iotsitewise:CreatePresignedPortalUrl` permission to sign
1547
+ # in to the portal. This option is only available in the China
1548
+ # Regions.
1549
+ #
1550
+ # You can't change this value after you create a portal.
1551
+ #
1552
+ # Default: `SSO`
1553
+ #
1554
+ #
1555
+ #
1556
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso
1557
+ # @return [String]
1558
+ #
1503
1559
  class CreatePortalRequest < Struct.new(
1504
1560
  :portal_name,
1505
1561
  :portal_description,
@@ -1507,7 +1563,8 @@ module Aws::IoTSiteWise
1507
1563
  :client_token,
1508
1564
  :portal_logo_image_file,
1509
1565
  :role_arn,
1510
- :tags)
1566
+ :tags,
1567
+ :portal_auth_mode)
1511
1568
  SENSITIVE = []
1512
1569
  include Aws::Structure
1513
1570
  end
@@ -1527,7 +1584,15 @@ module Aws::IoTSiteWise
1527
1584
  # @return [String]
1528
1585
  #
1529
1586
  # @!attribute [rw] portal_start_url
1530
- # The public URL for the AWS IoT SiteWise Monitor portal.
1587
+ # The URL for the AWS IoT SiteWise Monitor portal. You can use this
1588
+ # URL to access portals that use AWS SSO for authentication. For
1589
+ # portals that use IAM for authentication, you must use the
1590
+ # [CreatePresignedPortalUrl][1] operation to create a URL that you can
1591
+ # use to access the portal.
1592
+ #
1593
+ #
1594
+ #
1595
+ # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
1531
1596
  # @return [String]
1532
1597
  #
1533
1598
  # @!attribute [rw] portal_status
@@ -1536,7 +1601,7 @@ module Aws::IoTSiteWise
1536
1601
  # @return [Types::PortalStatus]
1537
1602
  #
1538
1603
  # @!attribute [rw] sso_application_id
1539
- # The associated AWS SSO application Id.
1604
+ # The associated AWS SSO application ID, if the portal uses AWS SSO.
1540
1605
  # @return [String]
1541
1606
  #
1542
1607
  class CreatePortalResponse < Struct.new(
@@ -1549,6 +1614,45 @@ module Aws::IoTSiteWise
1549
1614
  include Aws::Structure
1550
1615
  end
1551
1616
 
1617
+ # @note When making an API call, you may pass CreatePresignedPortalUrlRequest
1618
+ # data as a hash:
1619
+ #
1620
+ # {
1621
+ # portal_id: "ID", # required
1622
+ # session_duration_seconds: 1,
1623
+ # }
1624
+ #
1625
+ # @!attribute [rw] portal_id
1626
+ # The ID of the portal to access.
1627
+ # @return [String]
1628
+ #
1629
+ # @!attribute [rw] session_duration_seconds
1630
+ # The duration (in seconds) for which the session at the URL is valid.
1631
+ #
1632
+ # Default: 43,200 seconds (12 hours)
1633
+ # @return [Integer]
1634
+ #
1635
+ class CreatePresignedPortalUrlRequest < Struct.new(
1636
+ :portal_id,
1637
+ :session_duration_seconds)
1638
+ SENSITIVE = []
1639
+ include Aws::Structure
1640
+ end
1641
+
1642
+ # @!attribute [rw] presigned_portal_url
1643
+ # The pre-signed URL to the portal. The URL contains the portal ID and
1644
+ # an authentication token that lets you access the portal. The URL has
1645
+ # the following format.
1646
+ #
1647
+ # `https://<portal-id>.app.iotsitewise.aws/iam?token=<encrypted-token>`
1648
+ # @return [String]
1649
+ #
1650
+ class CreatePresignedPortalUrlResponse < Struct.new(
1651
+ :presigned_portal_url)
1652
+ SENSITIVE = []
1653
+ include Aws::Structure
1654
+ end
1655
+
1552
1656
  # @note When making an API call, you may pass CreateProjectRequest
1553
1657
  # data as a hash:
1554
1658
  #
@@ -1912,8 +2016,8 @@ module Aws::IoTSiteWise
1912
2016
  # @return [String]
1913
2017
  #
1914
2018
  # @!attribute [rw] access_policy_identity
1915
- # The AWS SSO identity (user or group) to which this access policy
1916
- # applies.
2019
+ # The identity (AWS SSO user, AWS SSO group, or IAM user) to which
2020
+ # this access policy applies.
1917
2021
  # @return [Types::Identity]
1918
2022
  #
1919
2023
  # @!attribute [rw] access_policy_resource
@@ -2220,6 +2324,33 @@ module Aws::IoTSiteWise
2220
2324
  include Aws::Structure
2221
2325
  end
2222
2326
 
2327
+ # @api private
2328
+ #
2329
+ class DescribeDefaultEncryptionConfigurationRequest < Aws::EmptyStructure; end
2330
+
2331
+ # @!attribute [rw] encryption_type
2332
+ # The type of encryption used for the encryption configuration.
2333
+ # @return [String]
2334
+ #
2335
+ # @!attribute [rw] kms_key_arn
2336
+ # The key ARN of the customer managed customer master key (CMK) used
2337
+ # for AWS KMS encryption if you use `KMS_BASED_ENCRYPTION`.
2338
+ # @return [String]
2339
+ #
2340
+ # @!attribute [rw] configuration_status
2341
+ # The status of the account configuration. This contains the
2342
+ # `ConfigurationState`. If there's an error, it also contains the
2343
+ # `ErrorDetails`.
2344
+ # @return [Types::ConfigurationStatus]
2345
+ #
2346
+ class DescribeDefaultEncryptionConfigurationResponse < Struct.new(
2347
+ :encryption_type,
2348
+ :kms_key_arn,
2349
+ :configuration_status)
2350
+ SENSITIVE = []
2351
+ include Aws::Structure
2352
+ end
2353
+
2223
2354
  # @note When making an API call, you may pass DescribeGatewayCapabilityConfigurationRequest
2224
2355
  # data as a hash:
2225
2356
  #
@@ -2411,12 +2542,20 @@ module Aws::IoTSiteWise
2411
2542
  #
2412
2543
  # @!attribute [rw] portal_client_id
2413
2544
  # The AWS SSO application generated client ID (used with AWS SSO
2414
- # APIs).
2545
+ # APIs). AWS IoT SiteWise includes `portalClientId` for only portals
2546
+ # that use AWS SSO to authenticate users.
2415
2547
  # @return [String]
2416
2548
  #
2417
2549
  # @!attribute [rw] portal_start_url
2418
- # The public root URL for the AWS IoT AWS IoT SiteWise Monitor
2419
- # application portal.
2550
+ # The URL for the AWS IoT SiteWise Monitor portal. You can use this
2551
+ # URL to access portals that use AWS SSO for authentication. For
2552
+ # portals that use IAM for authentication, you must use the
2553
+ # [CreatePresignedPortalUrl][1] operation to create a URL that you can
2554
+ # use to access the portal.
2555
+ #
2556
+ #
2557
+ #
2558
+ # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
2420
2559
  # @return [String]
2421
2560
  #
2422
2561
  # @!attribute [rw] portal_contact_email
@@ -2452,6 +2591,10 @@ module Aws::IoTSiteWise
2452
2591
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html
2453
2592
  # @return [String]
2454
2593
  #
2594
+ # @!attribute [rw] portal_auth_mode
2595
+ # The service to use to authenticate users to the portal.
2596
+ # @return [String]
2597
+ #
2455
2598
  class DescribePortalResponse < Struct.new(
2456
2599
  :portal_id,
2457
2600
  :portal_arn,
@@ -2464,7 +2607,8 @@ module Aws::IoTSiteWise
2464
2607
  :portal_creation_date,
2465
2608
  :portal_last_update_date,
2466
2609
  :portal_logo_image_location,
2467
- :role_arn)
2610
+ :role_arn,
2611
+ :portal_auth_mode)
2468
2612
  SENSITIVE = []
2469
2613
  include Aws::Structure
2470
2614
  end
@@ -3020,7 +3164,41 @@ module Aws::IoTSiteWise
3020
3164
  include Aws::Structure
3021
3165
  end
3022
3166
 
3023
- # Contains an AWS SSO identity ID for a user or group.
3167
+ # Contains information about an AWS Identity and Access Management (IAM)
3168
+ # user.
3169
+ #
3170
+ # @note When making an API call, you may pass IAMUserIdentity
3171
+ # data as a hash:
3172
+ #
3173
+ # {
3174
+ # arn: "ARN", # required
3175
+ # }
3176
+ #
3177
+ # @!attribute [rw] arn
3178
+ # The ARN of the IAM user. IAM users must have the
3179
+ # `iotsitewise:CreatePresignedPortalUrl` permission to sign in to the
3180
+ # portal. For more information, see [IAM ARNs][1] in the *IAM User
3181
+ # Guide*.
3182
+ #
3183
+ # <note markdown="1"> If you delete the IAM user, access policies that contain this
3184
+ # identity include an empty `arn`. You can delete the access policy
3185
+ # for the IAM user that no longer exists.
3186
+ #
3187
+ # </note>
3188
+ #
3189
+ #
3190
+ #
3191
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
3192
+ # @return [String]
3193
+ #
3194
+ class IAMUserIdentity < Struct.new(
3195
+ :arn)
3196
+ SENSITIVE = []
3197
+ include Aws::Structure
3198
+ end
3199
+
3200
+ # Contains an identity that can access an AWS IoT SiteWise Monitor
3201
+ # resource.
3024
3202
  #
3025
3203
  # <note markdown="1"> Currently, you can't use AWS APIs to retrieve AWS SSO identity IDs.
3026
3204
  # You can find the AWS SSO identity IDs in the URL of user and group
@@ -3042,19 +3220,27 @@ module Aws::IoTSiteWise
3042
3220
  # group: {
3043
3221
  # id: "IdentityId", # required
3044
3222
  # },
3223
+ # iam_user: {
3224
+ # arn: "ARN", # required
3225
+ # },
3045
3226
  # }
3046
3227
  #
3047
3228
  # @!attribute [rw] user
3048
- # A user identity.
3229
+ # An AWS SSO user identity.
3049
3230
  # @return [Types::UserIdentity]
3050
3231
  #
3051
3232
  # @!attribute [rw] group
3052
- # A group identity.
3233
+ # An AWS SSO group identity.
3053
3234
  # @return [Types::GroupIdentity]
3054
3235
  #
3236
+ # @!attribute [rw] iam_user
3237
+ # An IAM user identity.
3238
+ # @return [Types::IAMUserIdentity]
3239
+ #
3055
3240
  class Identity < Struct.new(
3056
3241
  :user,
3057
- :group)
3242
+ :group,
3243
+ :iam_user)
3058
3244
  SENSITIVE = []
3059
3245
  include Aws::Structure
3060
3246
  end
@@ -3188,22 +3374,23 @@ module Aws::IoTSiteWise
3188
3374
  # data as a hash:
3189
3375
  #
3190
3376
  # {
3191
- # identity_type: "USER", # accepts USER, GROUP
3377
+ # identity_type: "USER", # accepts USER, GROUP, IAM
3192
3378
  # identity_id: "IdentityId",
3193
3379
  # resource_type: "PORTAL", # accepts PORTAL, PROJECT
3194
3380
  # resource_id: "ID",
3381
+ # iam_arn: "ARN",
3195
3382
  # next_token: "NextToken",
3196
3383
  # max_results: 1,
3197
3384
  # }
3198
3385
  #
3199
3386
  # @!attribute [rw] identity_type
3200
- # The type of identity (user or group). This parameter is required if
3201
- # you specify `identityId`.
3387
+ # The type of identity (AWS SSO user, AWS SSO group, or IAM user).
3388
+ # This parameter is required if you specify `identityId`.
3202
3389
  # @return [String]
3203
3390
  #
3204
3391
  # @!attribute [rw] identity_id
3205
3392
  # The ID of the identity. This parameter is required if you specify
3206
- # `identityType`.
3393
+ # `USER` or `GROUP` for `identityType`.
3207
3394
  # @return [String]
3208
3395
  #
3209
3396
  # @!attribute [rw] resource_type
@@ -3216,6 +3403,16 @@ module Aws::IoTSiteWise
3216
3403
  # `resourceType`.
3217
3404
  # @return [String]
3218
3405
  #
3406
+ # @!attribute [rw] iam_arn
3407
+ # The ARN of the IAM user. For more information, see [IAM ARNs][1] in
3408
+ # the *IAM User Guide*. This parameter is required if you specify
3409
+ # `IAM` for `identityType`.
3410
+ #
3411
+ #
3412
+ #
3413
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
3414
+ # @return [String]
3415
+ #
3219
3416
  # @!attribute [rw] next_token
3220
3417
  # The token to be used for the next set of paginated results.
3221
3418
  # @return [String]
@@ -3231,6 +3428,7 @@ module Aws::IoTSiteWise
3231
3428
  :identity_id,
3232
3429
  :resource_type,
3233
3430
  :resource_id,
3431
+ :iam_arn,
3234
3432
  :next_token,
3235
3433
  :max_results)
3236
3434
  SENSITIVE = []
@@ -3889,8 +4087,15 @@ module Aws::IoTSiteWise
3889
4087
  # @return [String]
3890
4088
  #
3891
4089
  # @!attribute [rw] start_url
3892
- # The public root URL for the AWS IoT AWS IoT SiteWise Monitor
3893
- # application portal.
4090
+ # The URL for the AWS IoT SiteWise Monitor portal. You can use this
4091
+ # URL to access portals that use AWS SSO for authentication. For
4092
+ # portals that use IAM for authentication, you must use the
4093
+ # [CreatePresignedPortalUrl][1] operation to create a URL that you can
4094
+ # use to access the portal.
4095
+ #
4096
+ #
4097
+ #
4098
+ # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
3894
4099
  # @return [String]
3895
4100
  #
3896
4101
  # @!attribute [rw] creation_date
@@ -4146,7 +4351,8 @@ module Aws::IoTSiteWise
4146
4351
  end
4147
4352
 
4148
4353
  # Contains a list of value updates for an asset property in the list of
4149
- # asset entries consumed by the [BatchPutAssetPropertyValue][1] API.
4354
+ # asset entries consumed by the [BatchPutAssetPropertyValue][1] API
4355
+ # operation.
4150
4356
  #
4151
4357
  #
4152
4358
  #
@@ -4217,6 +4423,54 @@ module Aws::IoTSiteWise
4217
4423
  include Aws::Structure
4218
4424
  end
4219
4425
 
4426
+ # @note When making an API call, you may pass PutDefaultEncryptionConfigurationRequest
4427
+ # data as a hash:
4428
+ #
4429
+ # {
4430
+ # encryption_type: "SITEWISE_DEFAULT_ENCRYPTION", # required, accepts SITEWISE_DEFAULT_ENCRYPTION, KMS_BASED_ENCRYPTION
4431
+ # kms_key_id: "KmsKeyId",
4432
+ # }
4433
+ #
4434
+ # @!attribute [rw] encryption_type
4435
+ # The type of encryption used for the encryption configuration.
4436
+ # @return [String]
4437
+ #
4438
+ # @!attribute [rw] kms_key_id
4439
+ # The Key ID of the customer managed customer master key (CMK) used
4440
+ # for AWS KMS encryption. This is required if you use
4441
+ # `KMS_BASED_ENCRYPTION`.
4442
+ # @return [String]
4443
+ #
4444
+ class PutDefaultEncryptionConfigurationRequest < Struct.new(
4445
+ :encryption_type,
4446
+ :kms_key_id)
4447
+ SENSITIVE = []
4448
+ include Aws::Structure
4449
+ end
4450
+
4451
+ # @!attribute [rw] encryption_type
4452
+ # The type of encryption used for the encryption configuration.
4453
+ # @return [String]
4454
+ #
4455
+ # @!attribute [rw] kms_key_arn
4456
+ # The Key ARN of the AWS KMS CMK used for AWS KMS encryption if you
4457
+ # use `KMS_BASED_ENCRYPTION`.
4458
+ # @return [String]
4459
+ #
4460
+ # @!attribute [rw] configuration_status
4461
+ # The status of the account configuration. This contains the
4462
+ # `ConfigurationState`. If there is an error, it also contains the
4463
+ # `ErrorDetails`.
4464
+ # @return [Types::ConfigurationStatus]
4465
+ #
4466
+ class PutDefaultEncryptionConfigurationResponse < Struct.new(
4467
+ :encryption_type,
4468
+ :kms_key_arn,
4469
+ :configuration_status)
4470
+ SENSITIVE = []
4471
+ include Aws::Structure
4472
+ end
4473
+
4220
4474
  # @note When making an API call, you may pass PutLoggingOptionsRequest
4221
4475
  # data as a hash:
4222
4476
  #
@@ -4543,6 +4797,9 @@ module Aws::IoTSiteWise
4543
4797
  # group: {
4544
4798
  # id: "IdentityId", # required
4545
4799
  # },
4800
+ # iam_user: {
4801
+ # arn: "ARN", # required
4802
+ # },
4546
4803
  # },
4547
4804
  # access_policy_resource: { # required
4548
4805
  # portal: {
@@ -4561,13 +4818,13 @@ module Aws::IoTSiteWise
4561
4818
  # @return [String]
4562
4819
  #
4563
4820
  # @!attribute [rw] access_policy_identity
4564
- # The identity for this access policy. Choose either a `user` or a
4565
- # `group` but not both.
4821
+ # The identity for this access policy. Choose an AWS SSO user, an AWS
4822
+ # SSO group, or an IAM user.
4566
4823
  # @return [Types::Identity]
4567
4824
  #
4568
4825
  # @!attribute [rw] access_policy_resource
4569
4826
  # The AWS IoT SiteWise Monitor resource for this access policy. Choose
4570
- # either `portal` or `project` but not both.
4827
+ # either a portal or a project.
4571
4828
  # @return [Types::Resource]
4572
4829
  #
4573
4830
  # @!attribute [rw] access_policy_permission
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: aws-sdk-iotsitewise
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.10.0
4
+ version: 1.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Amazon Web Services
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2020-09-15 00:00:00.000000000 Z
11
+ date: 2020-11-24 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core
@@ -19,7 +19,7 @@ dependencies:
19
19
  version: '3'
20
20
  - - ">="
21
21
  - !ruby/object:Gem::Version
22
- version: 3.99.0
22
+ version: 3.109.0
23
23
  type: :runtime
24
24
  prerelease: false
25
25
  version_requirements: !ruby/object:Gem::Requirement
@@ -29,7 +29,7 @@ dependencies:
29
29
  version: '3'
30
30
  - - ">="
31
31
  - !ruby/object:Gem::Version
32
- version: 3.99.0
32
+ version: 3.109.0
33
33
  - !ruby/object:Gem::Dependency
34
34
  name: aws-sigv4
35
35
  requirement: !ruby/object:Gem::Requirement