aws-sdk-iotsitewise 1.10.0 → 1.15.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: 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