aws-sdk-iotsitewise 1.10.0 → 1.11.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: d305379c89444298a4b122ef07db07dcce29001e40b3e410c352165cc7c41396
4
- data.tar.gz: 9c31118ed6b51bf11500429306db72150213e725156b4874cf1a9905dba2ae7d
3
+ metadata.gz: ce4560b339387b2c1b2c4cba7c2ce6170c881d0f8c7f76180e49bc7bf61e3cae
4
+ data.tar.gz: c5fab0c350551d91f196125fbd172f28a5604db23205e54874ecaaa82c4d1a43
5
5
  SHA512:
6
- metadata.gz: bdac6f7fdc947ddb549cef8f438962551283404bd4a6a6cf02232455a5272c4773c1c7eb3474a49c1306181511bcc6e990836503099e3619325c4bbdfb915a88
7
- data.tar.gz: 3fe64c09c3b19457a95ca448a064a3e57eeb2a78519cf72968af4c17b009c7102fda0cd669677b4fa822120d797f889d7d74283109addcde40a4f8732a50f32d
6
+ metadata.gz: 892e8b4c9afcc4c50e0c959b6a7f2dda45aef5aad618141f45c2e16e642a18fd60a8ac14400591a62bc0e89568d8a45c9e718c17fd637e16a0e081ce4a1f0e37
7
+ data.tar.gz: 75495f046396dd47b743d2e591c9812dea2082d18be3f3d8fc80f5876594c48cc3027afaf2020a3eb4b3e21c944bd34b5f55a780bbbd448097bb23d937d23534
@@ -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.11.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 a session token that
1086
+ # 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: 900 seconds (15 minutes)
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"
@@ -1764,6 +1818,7 @@ module Aws::IoTSiteWise
1764
1818
  # * {Types::DescribePortalResponse#portal_last_update_date #portal_last_update_date} => Time
1765
1819
  # * {Types::DescribePortalResponse#portal_logo_image_location #portal_logo_image_location} => Types::ImageLocation
1766
1820
  # * {Types::DescribePortalResponse#role_arn #role_arn} => String
1821
+ # * {Types::DescribePortalResponse#portal_auth_mode #portal_auth_mode} => String
1767
1822
  #
1768
1823
  # @example Request syntax with placeholder values
1769
1824
  #
@@ -1788,6 +1843,7 @@ module Aws::IoTSiteWise
1788
1843
  # resp.portal_logo_image_location.id #=> String
1789
1844
  # resp.portal_logo_image_location.url #=> String
1790
1845
  # resp.role_arn #=> String
1846
+ # resp.portal_auth_mode #=> String, one of "IAM", "SSO"
1791
1847
  #
1792
1848
  #
1793
1849
  # The following waiters are defined for this operation (see {Client#wait_until} for detailed usage):
@@ -2152,17 +2208,17 @@ module Aws::IoTSiteWise
2152
2208
  req.send_request(options)
2153
2209
  end
2154
2210
 
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).
2211
+ # Retrieves a paginated list of access policies for an identity (an AWS
2212
+ # SSO user, an AWS SSO group, or an IAM user) or an AWS IoT SiteWise
2213
+ # Monitor resource (a portal or project).
2158
2214
  #
2159
2215
  # @option params [String] :identity_type
2160
- # The type of identity (user or group). This parameter is required if
2161
- # you specify `identityId`.
2216
+ # The type of identity (AWS SSO user, AWS SSO group, or IAM user). This
2217
+ # parameter is required if you specify `identityId`.
2162
2218
  #
2163
2219
  # @option params [String] :identity_id
2164
2220
  # The ID of the identity. This parameter is required if you specify
2165
- # `identityType`.
2221
+ # `USER` or `GROUP` for `identityType`.
2166
2222
  #
2167
2223
  # @option params [String] :resource_type
2168
2224
  # The type of resource (portal or project). This parameter is required
@@ -2172,6 +2228,15 @@ module Aws::IoTSiteWise
2172
2228
  # The ID of the resource. This parameter is required if you specify
2173
2229
  # `resourceType`.
2174
2230
  #
2231
+ # @option params [String] :iam_arn
2232
+ # The ARN of the IAM user. For more information, see [IAM ARNs][1] in
2233
+ # the *IAM User Guide*. This parameter is required if you specify `IAM`
2234
+ # for `identityType`.
2235
+ #
2236
+ #
2237
+ #
2238
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
2239
+ #
2175
2240
  # @option params [String] :next_token
2176
2241
  # The token to be used for the next set of paginated results.
2177
2242
  #
@@ -2190,10 +2255,11 @@ module Aws::IoTSiteWise
2190
2255
  # @example Request syntax with placeholder values
2191
2256
  #
2192
2257
  # resp = client.list_access_policies({
2193
- # identity_type: "USER", # accepts USER, GROUP
2258
+ # identity_type: "USER", # accepts USER, GROUP, IAM
2194
2259
  # identity_id: "IdentityId",
2195
2260
  # resource_type: "PORTAL", # accepts PORTAL, PROJECT
2196
2261
  # resource_id: "ID",
2262
+ # iam_arn: "ARN",
2197
2263
  # next_token: "NextToken",
2198
2264
  # max_results: 1,
2199
2265
  # })
@@ -2204,6 +2270,7 @@ module Aws::IoTSiteWise
2204
2270
  # resp.access_policy_summaries[0].id #=> String
2205
2271
  # resp.access_policy_summaries[0].identity.user.id #=> String
2206
2272
  # resp.access_policy_summaries[0].identity.group.id #=> String
2273
+ # resp.access_policy_summaries[0].identity.iam_user.arn #=> String
2207
2274
  # resp.access_policy_summaries[0].resource.portal.id #=> String
2208
2275
  # resp.access_policy_summaries[0].resource.project.id #=> String
2209
2276
  # resp.access_policy_summaries[0].permission #=> String, one of "ADMINISTRATOR", "VIEWER"
@@ -2773,20 +2840,19 @@ module Aws::IoTSiteWise
2773
2840
  req.send_request(options)
2774
2841
  end
2775
2842
 
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.
2843
+ # Updates an existing access policy that specifies an identity's access
2844
+ # to an AWS IoT SiteWise Monitor portal or project resource.
2779
2845
  #
2780
2846
  # @option params [required, String] :access_policy_id
2781
2847
  # The ID of the access policy.
2782
2848
  #
2783
2849
  # @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.
2850
+ # The identity for this access policy. Choose an AWS SSO user, an AWS
2851
+ # SSO group, or an IAM user.
2786
2852
  #
2787
2853
  # @option params [required, Types::Resource] :access_policy_resource
2788
2854
  # The AWS IoT SiteWise Monitor resource for this access policy. Choose
2789
- # either `portal` or `project` but not both.
2855
+ # either a portal or a project.
2790
2856
  #
2791
2857
  # @option params [required, String] :access_policy_permission
2792
2858
  # The permission level for this access policy. Note that a project
@@ -2813,6 +2879,9 @@ module Aws::IoTSiteWise
2813
2879
  # group: {
2814
2880
  # id: "IdentityId", # required
2815
2881
  # },
2882
+ # iam_user: {
2883
+ # arn: "ARN", # required
2884
+ # },
2816
2885
  # },
2817
2886
  # access_policy_resource: { # required
2818
2887
  # portal: {
@@ -2890,12 +2959,12 @@ module Aws::IoTSiteWise
2890
2959
  # must include their IDs and definitions in the updated asset model
2891
2960
  # payload. For more information, see [DescribeAssetModel][2].
2892
2961
  #
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.
2962
+ # If you remove a property from an asset model, AWS IoT SiteWise
2963
+ # deletes
2964
+ # all previous data for that property. If you remove a hierarchy
2965
+ # definition from an asset model, AWS IoT SiteWise disassociates every
2966
+ # asset associated with that hierarchy. You can't change the type or
2967
+ # data type of an existing property.
2899
2968
  #
2900
2969
  #
2901
2970
  #
@@ -3348,7 +3417,7 @@ module Aws::IoTSiteWise
3348
3417
  params: params,
3349
3418
  config: config)
3350
3419
  context[:gem_name] = 'aws-sdk-iotsitewise'
3351
- context[:gem_version] = '1.10.0'
3420
+ context[:gem_version] = '1.11.0'
3352
3421
  Seahorse::Client::Request.new(handlers, context)
3353
3422
  end
3354
3423
 
@@ -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')
@@ -85,6 +86,8 @@ module Aws::IoTSiteWise
85
86
  CreateGatewayResponse = Shapes::StructureShape.new(name: 'CreateGatewayResponse')
86
87
  CreatePortalRequest = Shapes::StructureShape.new(name: 'CreatePortalRequest')
87
88
  CreatePortalResponse = Shapes::StructureShape.new(name: 'CreatePortalResponse')
89
+ CreatePresignedPortalUrlRequest = Shapes::StructureShape.new(name: 'CreatePresignedPortalUrlRequest')
90
+ CreatePresignedPortalUrlResponse = Shapes::StructureShape.new(name: 'CreatePresignedPortalUrlResponse')
88
91
  CreateProjectRequest = Shapes::StructureShape.new(name: 'CreateProjectRequest')
89
92
  CreateProjectResponse = Shapes::StructureShape.new(name: 'CreateProjectResponse')
90
93
  DashboardDefinition = Shapes::StringShape.new(name: 'DashboardDefinition')
@@ -148,6 +151,7 @@ module Aws::IoTSiteWise
148
151
  GetAssetPropertyValueResponse = Shapes::StructureShape.new(name: 'GetAssetPropertyValueResponse')
149
152
  Greengrass = Shapes::StructureShape.new(name: 'Greengrass')
150
153
  GroupIdentity = Shapes::StructureShape.new(name: 'GroupIdentity')
154
+ IAMUserIdentity = Shapes::StructureShape.new(name: 'IAMUserIdentity')
151
155
  ID = Shapes::StringShape.new(name: 'ID')
152
156
  IDs = Shapes::ListShape.new(name: 'IDs')
153
157
  Identity = Shapes::StructureShape.new(name: 'Identity')
@@ -233,6 +237,7 @@ module Aws::IoTSiteWise
233
237
  ResourceType = Shapes::StringShape.new(name: 'ResourceType')
234
238
  SSOApplicationId = Shapes::StringShape.new(name: 'SSOApplicationId')
235
239
  ServiceUnavailableException = Shapes::StructureShape.new(name: 'ServiceUnavailableException')
240
+ SessionDurationSeconds = Shapes::IntegerShape.new(name: 'SessionDurationSeconds')
236
241
  TagKey = Shapes::StringShape.new(name: 'TagKey')
237
242
  TagKeyList = Shapes::ListShape.new(name: 'TagKeyList')
238
243
  TagMap = Shapes::MapShape.new(name: 'TagMap')
@@ -521,6 +526,7 @@ module Aws::IoTSiteWise
521
526
  CreatePortalRequest.add_member(:portal_logo_image_file, Shapes::ShapeRef.new(shape: ImageFile, location_name: "portalLogoImageFile"))
522
527
  CreatePortalRequest.add_member(:role_arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "roleArn"))
523
528
  CreatePortalRequest.add_member(:tags, Shapes::ShapeRef.new(shape: TagMap, location_name: "tags"))
529
+ CreatePortalRequest.add_member(:portal_auth_mode, Shapes::ShapeRef.new(shape: AuthMode, location_name: "portalAuthMode"))
524
530
  CreatePortalRequest.struct_class = Types::CreatePortalRequest
525
531
 
526
532
  CreatePortalResponse.add_member(:portal_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "portalId"))
@@ -530,6 +536,13 @@ module Aws::IoTSiteWise
530
536
  CreatePortalResponse.add_member(:sso_application_id, Shapes::ShapeRef.new(shape: SSOApplicationId, required: true, location_name: "ssoApplicationId"))
531
537
  CreatePortalResponse.struct_class = Types::CreatePortalResponse
532
538
 
539
+ CreatePresignedPortalUrlRequest.add_member(:portal_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "portalId"))
540
+ CreatePresignedPortalUrlRequest.add_member(:session_duration_seconds, Shapes::ShapeRef.new(shape: SessionDurationSeconds, location: "querystring", location_name: "sessionDurationSeconds"))
541
+ CreatePresignedPortalUrlRequest.struct_class = Types::CreatePresignedPortalUrlRequest
542
+
543
+ CreatePresignedPortalUrlResponse.add_member(:presigned_portal_url, Shapes::ShapeRef.new(shape: Url, required: true, location_name: "presignedPortalUrl"))
544
+ CreatePresignedPortalUrlResponse.struct_class = Types::CreatePresignedPortalUrlResponse
545
+
533
546
  CreateProjectRequest.add_member(:portal_id, Shapes::ShapeRef.new(shape: ID, required: true, location_name: "portalId"))
534
547
  CreateProjectRequest.add_member(:project_name, Shapes::ShapeRef.new(shape: Name, required: true, location_name: "projectName"))
535
548
  CreateProjectRequest.add_member(:project_description, Shapes::ShapeRef.new(shape: Description, location_name: "projectDescription"))
@@ -697,6 +710,7 @@ module Aws::IoTSiteWise
697
710
  DescribePortalResponse.add_member(:portal_last_update_date, Shapes::ShapeRef.new(shape: Timestamp, required: true, location_name: "portalLastUpdateDate"))
698
711
  DescribePortalResponse.add_member(:portal_logo_image_location, Shapes::ShapeRef.new(shape: ImageLocation, location_name: "portalLogoImageLocation"))
699
712
  DescribePortalResponse.add_member(:role_arn, Shapes::ShapeRef.new(shape: ARN, location_name: "roleArn"))
713
+ DescribePortalResponse.add_member(:portal_auth_mode, Shapes::ShapeRef.new(shape: AuthMode, location_name: "portalAuthMode"))
700
714
  DescribePortalResponse.struct_class = Types::DescribePortalResponse
701
715
 
702
716
  DescribeProjectRequest.add_member(:project_id, Shapes::ShapeRef.new(shape: ID, required: true, location: "uri", location_name: "projectId"))
@@ -791,10 +805,14 @@ module Aws::IoTSiteWise
791
805
  GroupIdentity.add_member(:id, Shapes::ShapeRef.new(shape: IdentityId, required: true, location_name: "id"))
792
806
  GroupIdentity.struct_class = Types::GroupIdentity
793
807
 
808
+ IAMUserIdentity.add_member(:arn, Shapes::ShapeRef.new(shape: ARN, required: true, location_name: "arn"))
809
+ IAMUserIdentity.struct_class = Types::IAMUserIdentity
810
+
794
811
  IDs.member = Shapes::ShapeRef.new(shape: ID)
795
812
 
796
813
  Identity.add_member(:user, Shapes::ShapeRef.new(shape: UserIdentity, location_name: "user"))
797
814
  Identity.add_member(:group, Shapes::ShapeRef.new(shape: GroupIdentity, location_name: "group"))
815
+ Identity.add_member(:iam_user, Shapes::ShapeRef.new(shape: IAMUserIdentity, location_name: "iamUser"))
798
816
  Identity.struct_class = Types::Identity
799
817
 
800
818
  Image.add_member(:id, Shapes::ShapeRef.new(shape: ID, location_name: "id"))
@@ -822,6 +840,7 @@ module Aws::IoTSiteWise
822
840
  ListAccessPoliciesRequest.add_member(:identity_id, Shapes::ShapeRef.new(shape: IdentityId, location: "querystring", location_name: "identityId"))
823
841
  ListAccessPoliciesRequest.add_member(:resource_type, Shapes::ShapeRef.new(shape: ResourceType, location: "querystring", location_name: "resourceType"))
824
842
  ListAccessPoliciesRequest.add_member(:resource_id, Shapes::ShapeRef.new(shape: ID, location: "querystring", location_name: "resourceId"))
843
+ ListAccessPoliciesRequest.add_member(:iam_arn, Shapes::ShapeRef.new(shape: ARN, location: "querystring", location_name: "iamArn"))
825
844
  ListAccessPoliciesRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: NextToken, location: "querystring", location_name: "nextToken"))
826
845
  ListAccessPoliciesRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location: "querystring", location_name: "maxResults"))
827
846
  ListAccessPoliciesRequest.struct_class = Types::ListAccessPoliciesRequest
@@ -1317,6 +1336,20 @@ module Aws::IoTSiteWise
1317
1336
  o.errors << Shapes::ShapeRef.new(shape: LimitExceededException)
1318
1337
  end)
1319
1338
 
1339
+ api.add_operation(:create_presigned_portal_url, Seahorse::Model::Operation.new.tap do |o|
1340
+ o.name = "CreatePresignedPortalUrl"
1341
+ o.http_method = "GET"
1342
+ o.http_request_uri = "/portals/{portalId}/presigned-url"
1343
+ o.endpoint_pattern = {
1344
+ "hostPrefix" => "monitor.",
1345
+ }
1346
+ o.input = Shapes::ShapeRef.new(shape: CreatePresignedPortalUrlRequest)
1347
+ o.output = Shapes::ShapeRef.new(shape: CreatePresignedPortalUrlResponse)
1348
+ o.errors << Shapes::ShapeRef.new(shape: InvalidRequestException)
1349
+ o.errors << Shapes::ShapeRef.new(shape: InternalFailureException)
1350
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
1351
+ end)
1352
+
1320
1353
  api.add_operation(:create_project, Seahorse::Model::Operation.new.tap do |o|
1321
1354
  o.name = "CreateProject"
1322
1355
  o.http_method = "POST"
@@ -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
  #
@@ -971,6 +971,9 @@ module Aws::IoTSiteWise
971
971
  # group: {
972
972
  # id: "IdentityId", # required
973
973
  # },
974
+ # iam_user: {
975
+ # arn: "ARN", # required
976
+ # },
974
977
  # },
975
978
  # access_policy_resource: { # required
976
979
  # portal: {
@@ -988,13 +991,13 @@ module Aws::IoTSiteWise
988
991
  # }
989
992
  #
990
993
  # @!attribute [rw] access_policy_identity
991
- # The identity for this access policy. Choose either a `user` or a
992
- # `group` but not both.
994
+ # The identity for this access policy. Choose an AWS SSO user, an AWS
995
+ # SSO group, or an IAM user.
993
996
  # @return [Types::Identity]
994
997
  #
995
998
  # @!attribute [rw] access_policy_resource
996
999
  # The AWS IoT SiteWise Monitor resource for this access policy. Choose
997
- # either `portal` or `project` but not both.
1000
+ # either a portal or a project.
998
1001
  # @return [Types::Resource]
999
1002
  #
1000
1003
  # @!attribute [rw] access_policy_permission
@@ -1450,6 +1453,7 @@ module Aws::IoTSiteWise
1450
1453
  # tags: {
1451
1454
  # "TagKey" => "TagValue",
1452
1455
  # },
1456
+ # portal_auth_mode: "IAM", # accepts IAM, SSO
1453
1457
  # }
1454
1458
  #
1455
1459
  # @!attribute [rw] portal_name
@@ -1500,6 +1504,32 @@ module Aws::IoTSiteWise
1500
1504
  # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/tag-resources.html
1501
1505
  # @return [Hash<String,String>]
1502
1506
  #
1507
+ # @!attribute [rw] portal_auth_mode
1508
+ # The service to use to authenticate users to the portal. Choose from
1509
+ # the following options:
1510
+ #
1511
+ # * `SSO` – The portal uses AWS Single Sign-On to authenticate users
1512
+ # and manage user permissions. Before you can create a portal that
1513
+ # uses AWS SSO, you must enable AWS SSO. For more information, see
1514
+ # [Enabling AWS SSO][1] in the *AWS IoT SiteWise User Guide*. This
1515
+ # option is only available in AWS Regions other than the China
1516
+ # Regions.
1517
+ #
1518
+ # * `IAM` – The portal uses AWS Identity and Access Management (IAM)
1519
+ # to authenticate users and manage user permissions. IAM users must
1520
+ # have the `iotsitewise:CreatePresignedPortalUrl` permission to sign
1521
+ # in to the portal. This option is only available in the China
1522
+ # Regions.
1523
+ #
1524
+ # You can't change this value after you create a portal.
1525
+ #
1526
+ # Default: `SSO`
1527
+ #
1528
+ #
1529
+ #
1530
+ # [1]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-get-started.html#mon-gs-sso
1531
+ # @return [String]
1532
+ #
1503
1533
  class CreatePortalRequest < Struct.new(
1504
1534
  :portal_name,
1505
1535
  :portal_description,
@@ -1507,7 +1537,8 @@ module Aws::IoTSiteWise
1507
1537
  :client_token,
1508
1538
  :portal_logo_image_file,
1509
1539
  :role_arn,
1510
- :tags)
1540
+ :tags,
1541
+ :portal_auth_mode)
1511
1542
  SENSITIVE = []
1512
1543
  include Aws::Structure
1513
1544
  end
@@ -1527,7 +1558,15 @@ module Aws::IoTSiteWise
1527
1558
  # @return [String]
1528
1559
  #
1529
1560
  # @!attribute [rw] portal_start_url
1530
- # The public URL for the AWS IoT SiteWise Monitor portal.
1561
+ # The URL for the AWS IoT SiteWise Monitor portal. You can use this
1562
+ # URL to access portals that use AWS SSO for authentication. For
1563
+ # portals that use IAM for authentication, you must use the
1564
+ # [CreatePresignedPortalUrl][1] operation to create a URL that you can
1565
+ # use to access the portal.
1566
+ #
1567
+ #
1568
+ #
1569
+ # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
1531
1570
  # @return [String]
1532
1571
  #
1533
1572
  # @!attribute [rw] portal_status
@@ -1536,7 +1575,7 @@ module Aws::IoTSiteWise
1536
1575
  # @return [Types::PortalStatus]
1537
1576
  #
1538
1577
  # @!attribute [rw] sso_application_id
1539
- # The associated AWS SSO application Id.
1578
+ # The associated AWS SSO application ID, if the portal uses AWS SSO.
1540
1579
  # @return [String]
1541
1580
  #
1542
1581
  class CreatePortalResponse < Struct.new(
@@ -1549,6 +1588,45 @@ module Aws::IoTSiteWise
1549
1588
  include Aws::Structure
1550
1589
  end
1551
1590
 
1591
+ # @note When making an API call, you may pass CreatePresignedPortalUrlRequest
1592
+ # data as a hash:
1593
+ #
1594
+ # {
1595
+ # portal_id: "ID", # required
1596
+ # session_duration_seconds: 1,
1597
+ # }
1598
+ #
1599
+ # @!attribute [rw] portal_id
1600
+ # The ID of the portal to access.
1601
+ # @return [String]
1602
+ #
1603
+ # @!attribute [rw] session_duration_seconds
1604
+ # The duration (in seconds) for which the session at the URL is valid.
1605
+ #
1606
+ # Default: 900 seconds (15 minutes)
1607
+ # @return [Integer]
1608
+ #
1609
+ class CreatePresignedPortalUrlRequest < Struct.new(
1610
+ :portal_id,
1611
+ :session_duration_seconds)
1612
+ SENSITIVE = []
1613
+ include Aws::Structure
1614
+ end
1615
+
1616
+ # @!attribute [rw] presigned_portal_url
1617
+ # The pre-signed URL to the portal. The URL contains the portal ID and
1618
+ # a session token that lets you access the portal. The URL has the
1619
+ # following format.
1620
+ #
1621
+ # `https://<portal-id>.app.iotsitewise.aws/auth?token=<encrypted-token>`
1622
+ # @return [String]
1623
+ #
1624
+ class CreatePresignedPortalUrlResponse < Struct.new(
1625
+ :presigned_portal_url)
1626
+ SENSITIVE = []
1627
+ include Aws::Structure
1628
+ end
1629
+
1552
1630
  # @note When making an API call, you may pass CreateProjectRequest
1553
1631
  # data as a hash:
1554
1632
  #
@@ -1912,8 +1990,8 @@ module Aws::IoTSiteWise
1912
1990
  # @return [String]
1913
1991
  #
1914
1992
  # @!attribute [rw] access_policy_identity
1915
- # The AWS SSO identity (user or group) to which this access policy
1916
- # applies.
1993
+ # The identity (AWS SSO user, AWS SSO group, or IAM user) to which
1994
+ # this access policy applies.
1917
1995
  # @return [Types::Identity]
1918
1996
  #
1919
1997
  # @!attribute [rw] access_policy_resource
@@ -2411,12 +2489,20 @@ module Aws::IoTSiteWise
2411
2489
  #
2412
2490
  # @!attribute [rw] portal_client_id
2413
2491
  # The AWS SSO application generated client ID (used with AWS SSO
2414
- # APIs).
2492
+ # APIs). AWS IoT SiteWise includes `portalClientId` for only portals
2493
+ # that use AWS SSO to authenticate users.
2415
2494
  # @return [String]
2416
2495
  #
2417
2496
  # @!attribute [rw] portal_start_url
2418
- # The public root URL for the AWS IoT AWS IoT SiteWise Monitor
2419
- # application portal.
2497
+ # The URL for the AWS IoT SiteWise Monitor portal. You can use this
2498
+ # URL to access portals that use AWS SSO for authentication. For
2499
+ # portals that use IAM for authentication, you must use the
2500
+ # [CreatePresignedPortalUrl][1] operation to create a URL that you can
2501
+ # use to access the portal.
2502
+ #
2503
+ #
2504
+ #
2505
+ # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
2420
2506
  # @return [String]
2421
2507
  #
2422
2508
  # @!attribute [rw] portal_contact_email
@@ -2452,6 +2538,10 @@ module Aws::IoTSiteWise
2452
2538
  # [2]: https://docs.aws.amazon.com/iot-sitewise/latest/userguide/monitor-service-role.html
2453
2539
  # @return [String]
2454
2540
  #
2541
+ # @!attribute [rw] portal_auth_mode
2542
+ # The service to use to authenticate users to the portal.
2543
+ # @return [String]
2544
+ #
2455
2545
  class DescribePortalResponse < Struct.new(
2456
2546
  :portal_id,
2457
2547
  :portal_arn,
@@ -2464,7 +2554,8 @@ module Aws::IoTSiteWise
2464
2554
  :portal_creation_date,
2465
2555
  :portal_last_update_date,
2466
2556
  :portal_logo_image_location,
2467
- :role_arn)
2557
+ :role_arn,
2558
+ :portal_auth_mode)
2468
2559
  SENSITIVE = []
2469
2560
  include Aws::Structure
2470
2561
  end
@@ -3020,7 +3111,41 @@ module Aws::IoTSiteWise
3020
3111
  include Aws::Structure
3021
3112
  end
3022
3113
 
3023
- # Contains an AWS SSO identity ID for a user or group.
3114
+ # Contains information about an AWS Identity and Access Management (IAM)
3115
+ # user.
3116
+ #
3117
+ # @note When making an API call, you may pass IAMUserIdentity
3118
+ # data as a hash:
3119
+ #
3120
+ # {
3121
+ # arn: "ARN", # required
3122
+ # }
3123
+ #
3124
+ # @!attribute [rw] arn
3125
+ # The ARN of the IAM user. IAM users must have the
3126
+ # `iotsitewise:CreatePresignedPortalUrl` permission to sign in to the
3127
+ # portal. For more information, see [IAM ARNs][1] in the *IAM User
3128
+ # Guide*.
3129
+ #
3130
+ # <note markdown="1"> If you delete the IAM user, access policies that contain this
3131
+ # identity include an empty `arn`. You can delete the access policy
3132
+ # for the IAM user that no longer exists.
3133
+ #
3134
+ # </note>
3135
+ #
3136
+ #
3137
+ #
3138
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
3139
+ # @return [String]
3140
+ #
3141
+ class IAMUserIdentity < Struct.new(
3142
+ :arn)
3143
+ SENSITIVE = []
3144
+ include Aws::Structure
3145
+ end
3146
+
3147
+ # Contains an identity that can access an AWS IoT SiteWise Monitor
3148
+ # resource.
3024
3149
  #
3025
3150
  # <note markdown="1"> Currently, you can't use AWS APIs to retrieve AWS SSO identity IDs.
3026
3151
  # You can find the AWS SSO identity IDs in the URL of user and group
@@ -3042,19 +3167,27 @@ module Aws::IoTSiteWise
3042
3167
  # group: {
3043
3168
  # id: "IdentityId", # required
3044
3169
  # },
3170
+ # iam_user: {
3171
+ # arn: "ARN", # required
3172
+ # },
3045
3173
  # }
3046
3174
  #
3047
3175
  # @!attribute [rw] user
3048
- # A user identity.
3176
+ # An AWS SSO user identity.
3049
3177
  # @return [Types::UserIdentity]
3050
3178
  #
3051
3179
  # @!attribute [rw] group
3052
- # A group identity.
3180
+ # An AWS SSO group identity.
3053
3181
  # @return [Types::GroupIdentity]
3054
3182
  #
3183
+ # @!attribute [rw] iam_user
3184
+ # An IAM user identity.
3185
+ # @return [Types::IAMUserIdentity]
3186
+ #
3055
3187
  class Identity < Struct.new(
3056
3188
  :user,
3057
- :group)
3189
+ :group,
3190
+ :iam_user)
3058
3191
  SENSITIVE = []
3059
3192
  include Aws::Structure
3060
3193
  end
@@ -3188,22 +3321,23 @@ module Aws::IoTSiteWise
3188
3321
  # data as a hash:
3189
3322
  #
3190
3323
  # {
3191
- # identity_type: "USER", # accepts USER, GROUP
3324
+ # identity_type: "USER", # accepts USER, GROUP, IAM
3192
3325
  # identity_id: "IdentityId",
3193
3326
  # resource_type: "PORTAL", # accepts PORTAL, PROJECT
3194
3327
  # resource_id: "ID",
3328
+ # iam_arn: "ARN",
3195
3329
  # next_token: "NextToken",
3196
3330
  # max_results: 1,
3197
3331
  # }
3198
3332
  #
3199
3333
  # @!attribute [rw] identity_type
3200
- # The type of identity (user or group). This parameter is required if
3201
- # you specify `identityId`.
3334
+ # The type of identity (AWS SSO user, AWS SSO group, or IAM user).
3335
+ # This parameter is required if you specify `identityId`.
3202
3336
  # @return [String]
3203
3337
  #
3204
3338
  # @!attribute [rw] identity_id
3205
3339
  # The ID of the identity. This parameter is required if you specify
3206
- # `identityType`.
3340
+ # `USER` or `GROUP` for `identityType`.
3207
3341
  # @return [String]
3208
3342
  #
3209
3343
  # @!attribute [rw] resource_type
@@ -3216,6 +3350,16 @@ module Aws::IoTSiteWise
3216
3350
  # `resourceType`.
3217
3351
  # @return [String]
3218
3352
  #
3353
+ # @!attribute [rw] iam_arn
3354
+ # The ARN of the IAM user. For more information, see [IAM ARNs][1] in
3355
+ # the *IAM User Guide*. This parameter is required if you specify
3356
+ # `IAM` for `identityType`.
3357
+ #
3358
+ #
3359
+ #
3360
+ # [1]: https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html
3361
+ # @return [String]
3362
+ #
3219
3363
  # @!attribute [rw] next_token
3220
3364
  # The token to be used for the next set of paginated results.
3221
3365
  # @return [String]
@@ -3231,6 +3375,7 @@ module Aws::IoTSiteWise
3231
3375
  :identity_id,
3232
3376
  :resource_type,
3233
3377
  :resource_id,
3378
+ :iam_arn,
3234
3379
  :next_token,
3235
3380
  :max_results)
3236
3381
  SENSITIVE = []
@@ -3889,8 +4034,15 @@ module Aws::IoTSiteWise
3889
4034
  # @return [String]
3890
4035
  #
3891
4036
  # @!attribute [rw] start_url
3892
- # The public root URL for the AWS IoT AWS IoT SiteWise Monitor
3893
- # application portal.
4037
+ # The URL for the AWS IoT SiteWise Monitor portal. You can use this
4038
+ # URL to access portals that use AWS SSO for authentication. For
4039
+ # portals that use IAM for authentication, you must use the
4040
+ # [CreatePresignedPortalUrl][1] operation to create a URL that you can
4041
+ # use to access the portal.
4042
+ #
4043
+ #
4044
+ #
4045
+ # [1]: https://docs.aws.amazon.com/AWS IoT SiteWise API ReferenceAPI_CreatePresignedPortalUrl.html
3894
4046
  # @return [String]
3895
4047
  #
3896
4048
  # @!attribute [rw] creation_date
@@ -4146,7 +4298,8 @@ module Aws::IoTSiteWise
4146
4298
  end
4147
4299
 
4148
4300
  # Contains a list of value updates for an asset property in the list of
4149
- # asset entries consumed by the [BatchPutAssetPropertyValue][1] API.
4301
+ # asset entries consumed by the [BatchPutAssetPropertyValue][1] API
4302
+ # operation.
4150
4303
  #
4151
4304
  #
4152
4305
  #
@@ -4543,6 +4696,9 @@ module Aws::IoTSiteWise
4543
4696
  # group: {
4544
4697
  # id: "IdentityId", # required
4545
4698
  # },
4699
+ # iam_user: {
4700
+ # arn: "ARN", # required
4701
+ # },
4546
4702
  # },
4547
4703
  # access_policy_resource: { # required
4548
4704
  # portal: {
@@ -4561,13 +4717,13 @@ module Aws::IoTSiteWise
4561
4717
  # @return [String]
4562
4718
  #
4563
4719
  # @!attribute [rw] access_policy_identity
4564
- # The identity for this access policy. Choose either a `user` or a
4565
- # `group` but not both.
4720
+ # The identity for this access policy. Choose an AWS SSO user, an AWS
4721
+ # SSO group, or an IAM user.
4566
4722
  # @return [Types::Identity]
4567
4723
  #
4568
4724
  # @!attribute [rw] access_policy_resource
4569
4725
  # The AWS IoT SiteWise Monitor resource for this access policy. Choose
4570
- # either `portal` or `project` but not both.
4726
+ # either a portal or a project.
4571
4727
  # @return [Types::Resource]
4572
4728
  #
4573
4729
  # @!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.11.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-09-21 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: aws-sdk-core