Skip to content

Commit b7f6987

Browse files
AWS IoT FleetWise now supports encryption through a customer managed AWS KMS key. The PutEncryptionConfiguration and GetEncryptionConfiguration APIs were added.
1 parent 1669297 commit b7f6987

21 files changed

+2536
-193
lines changed

generator/ServiceModels/iotfleetwise/iotfleetwise-2021-06-17.api.json

Lines changed: 88 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -325,6 +325,22 @@
325325
{"shape":"AccessDeniedException"}
326326
]
327327
},
328+
"GetEncryptionConfiguration":{
329+
"name":"GetEncryptionConfiguration",
330+
"http":{
331+
"method":"POST",
332+
"requestUri":"/"
333+
},
334+
"input":{"shape":"GetEncryptionConfigurationRequest"},
335+
"output":{"shape":"GetEncryptionConfigurationResponse"},
336+
"errors":[
337+
{"shape":"ResourceNotFoundException"},
338+
{"shape":"InternalServerException"},
339+
{"shape":"ThrottlingException"},
340+
{"shape":"ValidationException"},
341+
{"shape":"AccessDeniedException"}
342+
]
343+
},
328344
"GetFleet":{
329345
"name":"GetFleet",
330346
"http":{
@@ -679,6 +695,23 @@
679695
{"shape":"AccessDeniedException"}
680696
]
681697
},
698+
"PutEncryptionConfiguration":{
699+
"name":"PutEncryptionConfiguration",
700+
"http":{
701+
"method":"POST",
702+
"requestUri":"/"
703+
},
704+
"input":{"shape":"PutEncryptionConfigurationRequest"},
705+
"output":{"shape":"PutEncryptionConfigurationResponse"},
706+
"errors":[
707+
{"shape":"ResourceNotFoundException"},
708+
{"shape":"InternalServerException"},
709+
{"shape":"ConflictException"},
710+
{"shape":"ThrottlingException"},
711+
{"shape":"ValidationException"},
712+
{"shape":"AccessDeniedException"}
713+
]
714+
},
682715
"PutLoggingOptions":{
683716
"name":"PutLoggingOptions",
684717
"http":{
@@ -1469,6 +1502,21 @@
14691502
"members":{
14701503
}
14711504
},
1505+
"EncryptionStatus":{
1506+
"type":"string",
1507+
"enum":[
1508+
"PENDING",
1509+
"SUCCESS",
1510+
"FAILURE"
1511+
]
1512+
},
1513+
"EncryptionType":{
1514+
"type":"string",
1515+
"enum":[
1516+
"KMS_BASED_ENCRYPTION",
1517+
"FLEETWISE_DEFAULT_ENCRYPTION"
1518+
]
1519+
},
14721520
"FleetSummary":{
14731521
"type":"structure",
14741522
"required":[
@@ -1560,6 +1608,26 @@
15601608
"lastModificationTime":{"shape":"timestamp"}
15611609
}
15621610
},
1611+
"GetEncryptionConfigurationRequest":{
1612+
"type":"structure",
1613+
"members":{
1614+
}
1615+
},
1616+
"GetEncryptionConfigurationResponse":{
1617+
"type":"structure",
1618+
"required":[
1619+
"encryptionStatus",
1620+
"encryptionType"
1621+
],
1622+
"members":{
1623+
"kmsKeyId":{"shape":"String"},
1624+
"encryptionStatus":{"shape":"EncryptionStatus"},
1625+
"encryptionType":{"shape":"EncryptionType"},
1626+
"errorMessage":{"shape":"errorMessage"},
1627+
"creationTime":{"shape":"timestamp"},
1628+
"lastModificationTime":{"shape":"timestamp"}
1629+
}
1630+
},
15631631
"GetFleetRequest":{
15641632
"type":"structure",
15651633
"required":["fleetId"],
@@ -2291,6 +2359,26 @@
22912359
"max":50,
22922360
"min":1
22932361
},
2362+
"PutEncryptionConfigurationRequest":{
2363+
"type":"structure",
2364+
"required":["encryptionType"],
2365+
"members":{
2366+
"kmsKeyId":{"shape":"String"},
2367+
"encryptionType":{"shape":"EncryptionType"}
2368+
}
2369+
},
2370+
"PutEncryptionConfigurationResponse":{
2371+
"type":"structure",
2372+
"required":[
2373+
"encryptionStatus",
2374+
"encryptionType"
2375+
],
2376+
"members":{
2377+
"kmsKeyId":{"shape":"String"},
2378+
"encryptionStatus":{"shape":"EncryptionStatus"},
2379+
"encryptionType":{"shape":"EncryptionType"}
2380+
}
2381+
},
22942382
"PutLoggingOptionsRequest":{
22952383
"type":"structure",
22962384
"required":["cloudWatchLogDelivery"],

generator/ServiceModels/iotfleetwise/iotfleetwise-2021-06-17.docs.json

Lines changed: 44 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
"DisassociateVehicleFleet": "<p>Removes, or disassociates, a vehicle from a fleet. Disassociating a vehicle from a fleet doesn't delete the vehicle.</p> <note> <p>If the vehicle is successfully dissociated from a fleet, Amazon Web Services IoT FleetWise sends back an HTTP 200 response with an empty body.</p> </note>",
2121
"GetCampaign": "<p> Retrieves information about a campaign. </p>",
2222
"GetDecoderManifest": "<p> Retrieves information about a created decoder manifest. </p>",
23+
"GetEncryptionConfiguration": "<p>Retrieves the encryption configuration for resources and data in Amazon Web Services IoT FleetWise.</p>",
2324
"GetFleet": "<p> Retrieves information about a fleet. </p>",
2425
"GetLoggingOptions": "<p>Retrieves the logging options.</p>",
2526
"GetModelManifest": "<p> Retrieves information about a vehicle model (model manifest). </p>",
@@ -42,6 +43,7 @@
4243
"ListTagsForResource": "<p>Lists the tags (metadata) you have assigned to the resource.</p>",
4344
"ListVehicles": "<p> Retrieves a list of summaries of created vehicles. </p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>",
4445
"ListVehiclesInFleet": "<p> Retrieves a list of summaries of all vehicles associated with a fleet. </p> <note> <p>This API operation uses pagination. Specify the <code>nextToken</code> parameter in the request to return more results.</p> </note>",
46+
"PutEncryptionConfiguration": "<p>Creates or updates the encryption configuration. Amazon Web Services IoT FleetWise can encrypt your data and resources using an Amazon Web Services managed key. Or, you can use a KMS key that you own and manage. For more information, see <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/data-encryption.html\">Data encryption</a> in the <i>Amazon Web Services IoT FleetWise Developer Guide</i>.</p>",
4547
"PutLoggingOptions": "<p>Creates or updates the logging option.</p>",
4648
"RegisterAccount": "<important> <p>This API operation contains deprecated parameters. Register your account again without the Timestream resources parameter so that Amazon Web Services IoT FleetWise can remove the Timestream metadata stored. You should then pass the data destination into the <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_CreateCampaign.html\">CreateCampaign</a> API operation.</p> <p>You must delete any existing campaigns that include an empty data destination before you register your account again. For more information, see the <a href=\"https://docs.aws.amazon.com/iot-fleetwise/latest/APIReference/API_DeleteCampaign.html\">DeleteCampaign</a> API operation.</p> <p>If you want to delete the Timestream inline policy from the service-linked role, such as to mitigate an overly permissive policy, you must first delete any existing campaigns. Then delete the service-linked role and register your account again to enable CloudWatch metrics. For more information, see <a href=\"https://docs.aws.amazon.com/IAM/latest/APIReference/API_DeleteServiceLinkedRole.html\">DeleteServiceLinkedRole</a> in the <i>Identity and Access Management API Reference</i>.</p> </important> <pre><code> &lt;p&gt;Registers your Amazon Web Services account, IAM, and Amazon Timestream resources so Amazon Web Services IoT FleetWise can transfer your vehicle data to the Amazon Web Services Cloud. For more information, including step-by-step procedures, see &lt;a href=&quot;https://docs.aws.amazon.com/iot-fleetwise/latest/developerguide/setting-up.html&quot;&gt;Setting up Amazon Web Services IoT FleetWise&lt;/a&gt;. &lt;/p&gt; &lt;note&gt; &lt;p&gt;An Amazon Web Services account is &lt;b&gt;not&lt;/b&gt; the same thing as a &quot;user.&quot; An &lt;a href=&quot;https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction_identity-management.html#intro-identity-users&quot;&gt;Amazon Web Services user&lt;/a&gt; is an identity that you create using Identity and Access Management (IAM) and takes the form of either an &lt;a href=&quot;https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html&quot;&gt;IAM user&lt;/a&gt; or an &lt;a href=&quot;https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles.html&quot;&gt;IAM role, both with credentials&lt;/a&gt;. A single Amazon Web Services account can, and typically does, contain many users and roles.&lt;/p&gt; &lt;/note&gt; </code></pre>",
4749
"TagResource": "<p>Adds to or modifies the tags of the given resource. Tags are metadata which can be used to manage a resource.</p>",
@@ -284,7 +286,7 @@
284286
"DataDestinationConfigs": {
285287
"base": null,
286288
"refs": {
287-
"CreateCampaignRequest$dataDestinationConfigs": "<p>The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.</p> <p>Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. </p> <p>You can use Amazon Timestream to access and analyze time series data, and Timestream to query vehicle data so that you can identify trends and patterns.</p>",
289+
"CreateCampaignRequest$dataDestinationConfigs": "<p>The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.</p> <p>Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. Amazon Web Services IoT FleetWise supports at-least-once file delivery to S3. Your vehicle data is stored on multiple Amazon Web Services IoT FleetWise servers for redundancy and high availability.</p> <p>You can use Amazon Timestream to access and analyze time series data, and Timestream to query vehicle data so that you can identify trends and patterns.</p>",
288290
"GetCampaignResponse$dataDestinationConfigs": "<p>The destination where the campaign sends data. You can choose to send data to be stored in Amazon S3 or Amazon Timestream.</p> <p>Amazon S3 optimizes the cost of data storage and provides additional mechanisms to use vehicle data, such as data lakes, centralized data storage, data processing pipelines, and analytics. </p> <p>You can use Amazon Timestream to access and analyze time series data, and Timestream to query vehicle data so that you can identify trends and patterns.</p>"
289291
}
290292
},
@@ -390,6 +392,21 @@
390392
"refs": {
391393
}
392394
},
395+
"EncryptionStatus": {
396+
"base": null,
397+
"refs": {
398+
"GetEncryptionConfigurationResponse$encryptionStatus": "<p>The encryption status.</p>",
399+
"PutEncryptionConfigurationResponse$encryptionStatus": "<p>The encryption status.</p>"
400+
}
401+
},
402+
"EncryptionType": {
403+
"base": null,
404+
"refs": {
405+
"GetEncryptionConfigurationResponse$encryptionType": "<p>The type of encryption. Set to <code>KMS_BASED_ENCRYPTION</code> to use an KMS key that you own and manage. Set to <code>FLEETWISE_DEFAULT_ENCRYPTION</code> to use an Amazon Web Services managed key that is owned by the Amazon Web Services IoT FleetWise service account.</p>",
406+
"PutEncryptionConfigurationRequest$encryptionType": "<p>The type of encryption. Choose <code>KMS_BASED_ENCRYPTION</code> to use a KMS key or <code>FLEETWISE_DEFAULT_ENCRYPTION</code> to use an Amazon Web Services managed key.</p>",
407+
"PutEncryptionConfigurationResponse$encryptionType": "<p>The type of encryption. Set to <code>KMS_BASED_ENCRYPTION</code> to use an KMS key that you own and manage. Set to <code>FLEETWISE_DEFAULT_ENCRYPTION</code> to use an Amazon Web Services managed key that is owned by the Amazon Web Services IoT FleetWise service account.</p>"
408+
}
409+
},
393410
"FleetSummary": {
394411
"base": "<p>Information about a fleet.</p> <p>You can use the API operation to return this information about multiple fleets.</p>",
395412
"refs": {
@@ -437,6 +454,16 @@
437454
"refs": {
438455
}
439456
},
457+
"GetEncryptionConfigurationRequest": {
458+
"base": null,
459+
"refs": {
460+
}
461+
},
462+
"GetEncryptionConfigurationResponse": {
463+
"base": null,
464+
"refs": {
465+
}
466+
},
440467
"GetFleetRequest": {
441468
"base": null,
442469
"refs": {
@@ -929,6 +956,16 @@
929956
"CanInterface$protocolVersion": "<p>The version of the communication protocol for the interface.</p>"
930957
}
931958
},
959+
"PutEncryptionConfigurationRequest": {
960+
"base": null,
961+
"refs": {
962+
}
963+
},
964+
"PutEncryptionConfigurationResponse": {
965+
"base": null,
966+
"refs": {
967+
}
968+
},
932969
"PutLoggingOptionsRequest": {
933970
"base": null,
934971
"refs": {
@@ -1051,6 +1088,9 @@
10511088
"base": null,
10521089
"refs": {
10531090
"FormattedVss$vssJson": "<p>Provides the VSS in JSON format.</p>",
1091+
"GetEncryptionConfigurationResponse$kmsKeyId": "<p>The ID of the KMS key that is used for encryption.</p>",
1092+
"PutEncryptionConfigurationRequest$kmsKeyId": "<p>The ID of the KMS key that is used for encryption.</p>",
1093+
"PutEncryptionConfigurationResponse$kmsKeyId": "<p>The ID of the KMS key that is used for encryption.</p>",
10541094
"ValidationExceptionField$name": "<p>The name of the parameter field with the validation error.</p>",
10551095
"ValidationExceptionField$message": "<p>A message about the validation error.</p>"
10561096
}
@@ -1524,6 +1564,7 @@
15241564
"errorMessage": {
15251565
"base": null,
15261566
"refs": {
1567+
"GetEncryptionConfigurationResponse$errorMessage": "<p>The error message that describes why encryption settings couldn't be configured, if applicable.</p>",
15271568
"IamRegistrationResponse$errorMessage": "<p>A message associated with a registration error.</p>",
15281569
"TimestreamRegistrationResponse$errorMessage": "<p>A message associated with a registration error.</p>"
15291570
}
@@ -1808,6 +1849,8 @@
18081849
"GetCampaignResponse$lastModificationTime": "<p>The last time the campaign was modified.</p>",
18091850
"GetDecoderManifestResponse$creationTime": "<p> The time the decoder manifest was created in seconds since epoch (January 1, 1970 at midnight UTC time). </p>",
18101851
"GetDecoderManifestResponse$lastModificationTime": "<p> The time the decoder manifest was last updated in seconds since epoch (January 1, 1970 at midnight UTC time). </p>",
1852+
"GetEncryptionConfigurationResponse$creationTime": "<p>The time when encryption was configured in seconds since epoch (January 1, 1970 at midnight UTC time).</p>",
1853+
"GetEncryptionConfigurationResponse$lastModificationTime": "<p>The time when encryption was last updated in seconds since epoch (January 1, 1970 at midnight UTC time).</p>",
18111854
"GetFleetResponse$creationTime": "<p> The time the fleet was created in seconds since epoch (January 1, 1970 at midnight UTC time). </p>",
18121855
"GetFleetResponse$lastModificationTime": "<p> The time the fleet was last updated, in seconds since epoch (January 1, 1970 at midnight UTC time). </p>",
18131856
"GetModelManifestResponse$creationTime": "<p>The time the vehicle model was created, in seconds since epoch (January 1, 1970 at midnight UTC time).</p>",

0 commit comments

Comments
 (0)