From 988d741233cd13fa6187dcc151c9588376cd502a Mon Sep 17 00:00:00 2001 From: AWS Mobile SDK Bot <46607340+awsmobilesdk@users.noreply.github.com> Date: Fri, 17 Nov 2023 10:45:21 -0800 Subject: [PATCH] feat(AWSIoT): update models to latest (#5069) --- AWSIoT/AWSIoTModel.h | 103 +++++++++++++++++-- AWSIoT/AWSIoTModel.m | 79 +++++++++++++++ AWSIoT/AWSIoTResources.m | 105 ++++++++++++++++++-- AWSIoT/AWSIoTService.h | 4 +- AWSIoTUnitTests/AWSIoTNSSecureCodingTests.m | 10 ++ 5 files changed, 279 insertions(+), 22 deletions(-) diff --git a/AWSIoT/AWSIoTModel.h b/AWSIoT/AWSIoTModel.h index f0dd99f28e2..9ad5525013a 100644 --- a/AWSIoT/AWSIoTModel.h +++ b/AWSIoT/AWSIoTModel.h @@ -555,6 +555,12 @@ typedef NS_ENUM(NSInteger, AWSIoTStatus) { AWSIoTStatusCancelling, }; +typedef NS_ENUM(NSInteger, AWSIoTTargetFieldOrder) { + AWSIoTTargetFieldOrderUnknown, + AWSIoTTargetFieldOrderLatLon, + AWSIoTTargetFieldOrderLonLat, +}; + typedef NS_ENUM(NSInteger, AWSIoTTargetSelection) { AWSIoTTargetSelectionUnknown, AWSIoTTargetSelectionContinuous, @@ -901,6 +907,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @class AWSIoTFileLocation; @class AWSIoTFirehoseAction; @class AWSIoTFleetMetricNameAndArn; +@class AWSIoTGeoLocationTarget; @class AWSIoTGetBehaviorModelTrainingSummariesRequest; @class AWSIoTGetBehaviorModelTrainingSummariesResponse; @class AWSIoTGetBucketsAggregationRequest; @@ -1099,6 +1106,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @class AWSIoTMetricDimension; @class AWSIoTMetricToRetain; @class AWSIoTMetricValue; +@class AWSIoTMetricsExportConfig; @class AWSIoTMitigationAction; @class AWSIoTMitigationActionIdentifier; @class AWSIoTMitigationActionParams; @@ -2495,6 +2503,11 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { */ @property (nonatomic, strong) AWSIoTBehaviorCriteria * _Nullable criteria; +/** +
Value indicates exporting metrics related to the behavior when it is true.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable exportMetric; + /**What is measured by the behavior.
*/ @@ -3774,7 +3787,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable detail; /** -The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single string. Up to five strings are allowed.
+The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.
*/ @property (nonatomic, strong) NSArrayThe package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single string. Up to five strings are allowed.
+The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.
*/ @property (nonatomic, strong) NSArraySpecifies the MQTT topic and role ARN required for metric export.
+ */ +@property (nonatomic, strong) AWSIoTMetricsExportConfig * _Nullable metricsExportConfig; + /**A description of the security profile.
*/ @@ -6633,7 +6651,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable detail; /** -The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single string. Up to five strings are allowed.
+The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.
*/ @property (nonatomic, strong) NSArraySpecifies the MQTT topic and role ARN required for metric export.
+ */ +@property (nonatomic, strong) AWSIoTMetricsExportConfig * _Nullable metricsExportConfig; + /**The ARN of the security profile.
*/ @@ -7999,6 +8022,24 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @end +/** +A geolocation target that you select to index. Each geolocation target contains a name
and order
key-value pair that specifies the geolocation target fields.
The name
of the geolocation target field. If the target field is part of a named shadow, you must select the named shadow using the namedShadow
filter.
The order
of the geolocation target field. This field is optional. The default value is LatLon
.
Provides additional filters for specific data sources. Named shadow is the only data source that currently supports and requires a filter. To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode
to be ON
and specify your shadow names in filter
.
Provides additional selections for named shadows and geolocation data.
To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode
to be ON and specify your shadow names in namedShadowNames
filter.
To add geolocation data to your fleet indexing configuration:
If you store geolocation data in a class/unnamed shadow, set thingIndexingMode
to be REGISTRY_AND_SHADOW
and specify your geolocation data in geoLocations
filter.
If you store geolocation data in a named shadow, set namedShadowIndexingMode
to be ON
, add the shadow name in namedShadowNames
filter, and specify your geolocation data in geoLocations
filter. For more information, see Managing fleet indexing.
The list of geolocation targets that you select to index. The default maximum number of geolocation targets for indexing is 1
. To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference.
The shadow names that you select to index. The default maximum number of shadow names for indexing is 10. To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference.
*/ @@ -9030,7 +9076,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable detail; /** -The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single string. Up to five strings are allowed.
+The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.
*/ @property (nonatomic, strong) NSArrayValue added in both Behavior and AdditionalMetricsToRetainV2 to indicate if Device Defender Detect should export the corresponding metrics.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable exportMetric; + /**What is measured by the behavior.
*/ @@ -12505,6 +12556,25 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @end +/** +Set configurations for metrics export.
+ Required parameters: [mqttTopic, roleArn] + */ +@interface AWSIoTMetricsExportConfig : AWSModel + + +/** +The MQTT topic that Device Defender Detect should publish messages to for metrics export.
+ */ +@property (nonatomic, strong) NSString * _Nullable mqttTopic; + +/** +This role ARN has permission to publish MQTT messages, after which Device Defender Detect can assume the role and publish messages on your behalf.
+ */ +@property (nonatomic, strong) NSString * _Nullable roleArn; + +@end + /**Describes which changes should be applied as part of a mitigation action.
*/ @@ -13926,7 +13996,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSString * _Nullable indexName; /** -The maximum number of results to return at one time.
+The maximum number of results to return per page at one time. The response might contain fewer results but will never contain more.
*/ @property (nonatomic, strong) NSNumber * _Nullable maxResults; @@ -15055,7 +15125,7 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { @property (nonatomic, strong) NSArrayContains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.
+Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.
You can't modify managed fields by updating fleet indexing configuration.
Provides additional filters for specific data sources. Named shadow is the only data source that currently supports and requires a filter. To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode
to be ON
and specify your shadow names in filter
.
Provides additional selections for named shadows and geolocation data.
To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode
to be ON and specify your shadow names in namedShadowNames
filter.
To add geolocation data to your fleet indexing configuration:
If you store geolocation data in a class/unnamed shadow, set thingIndexingMode
to be REGISTRY_AND_SHADOW
and specify your geolocation data in geoLocations
filter.
If you store geolocation data in a named shadow, set namedShadowIndexingMode
to be ON
, add the shadow name in namedShadowNames
filter, and specify your geolocation data in geoLocations
filter. For more information, see Managing fleet indexing.
Contains fields that are indexed and whose types are already known by the Fleet Indexing service.
+Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.
You can't modify managed fields by updating fleet indexing configuration.
Set the value as true to delete metrics export related configurations.
+ */ +@property (nonatomic, strong) NSNumber * _Nullable deleteMetricsExportConfig; + /**The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a VersionConflictException
is thrown.
Specifies the MQTT topic and role ARN required for metric export.
+ */ +@property (nonatomic, strong) AWSIoTMetricsExportConfig * _Nullable metricsExportConfig; + /**A description of the security profile.
*/ @@ -16649,6 +16729,11 @@ typedef NS_ENUM(NSInteger, AWSIoTViolationEventType) { */ @property (nonatomic, strong) NSDate * _Nullable lastModifiedDate; +/** +Specifies the MQTT topic and role ARN required for metric export.
+ */ +@property (nonatomic, strong) AWSIoTMetricsExportConfig * _Nullable metricsExportConfig; + /**The ARN of the security profile that was updated.
*/ diff --git a/AWSIoT/AWSIoTModel.m b/AWSIoT/AWSIoTModel.m index 49f8d8f464a..da88ea19c3c 100644 --- a/AWSIoT/AWSIoTModel.m +++ b/AWSIoT/AWSIoTModel.m @@ -1428,6 +1428,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ @"criteria" : @"criteria", + @"exportMetric" : @"exportMetric", @"metric" : @"metric", @"metricDimension" : @"metricDimension", @"name" : @"name", @@ -3787,6 +3788,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"additionalMetricsToRetainV2" : @"additionalMetricsToRetainV2", @"alertTargets" : @"alertTargets", @"behaviors" : @"behaviors", + @"metricsExportConfig" : @"metricsExportConfig", @"securityProfileDescription" : @"securityProfileDescription", @"securityProfileName" : @"securityProfileName", @"tags" : @"tags", @@ -3809,6 +3811,10 @@ + (NSValueTransformer *)behaviorsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSIoTBehavior class]]; } ++ (NSValueTransformer *)metricsExportConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSIoTMetricsExportConfig class]]; +} + + (NSValueTransformer *)tagsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSIoTTag class]]; } @@ -6537,6 +6543,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"behaviors" : @"behaviors", @"creationDate" : @"creationDate", @"lastModifiedDate" : @"lastModifiedDate", + @"metricsExportConfig" : @"metricsExportConfig", @"securityProfileArn" : @"securityProfileArn", @"securityProfileDescription" : @"securityProfileDescription", @"securityProfileName" : @"securityProfileName", @@ -6576,6 +6583,10 @@ + (NSValueTransformer *)lastModifiedDateJSONTransformer { }]; } ++ (NSValueTransformer *)metricsExportConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSIoTMetricsExportConfig class]]; +} + @end @implementation AWSIoTDescribeStreamRequest @@ -7534,6 +7545,42 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSIoTGeoLocationTarget + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"name" : @"name", + @"order" : @"order", + }; +} + ++ (NSValueTransformer *)orderJSONTransformer { + return [AWSMTLValueTransformer reversibleTransformerWithForwardBlock:^NSNumber *(NSString *value) { + if ([value caseInsensitiveCompare:@"LatLon"] == NSOrderedSame) { + return @(AWSIoTTargetFieldOrderLatLon); + } + if ([value caseInsensitiveCompare:@"LonLat"] == NSOrderedSame) { + return @(AWSIoTTargetFieldOrderLonLat); + } + return @(AWSIoTTargetFieldOrderUnknown); + } reverseBlock:^NSString *(NSNumber *value) { + switch ([value integerValue]) { + case AWSIoTTargetFieldOrderLatLon: + return @"LatLon"; + case AWSIoTTargetFieldOrderLonLat: + return @"LonLat"; + default: + return nil; + } + }]; +} + +@end + @implementation AWSIoTGetBehaviorModelTrainingSummariesRequest + (BOOL)supportsSecureCoding { @@ -8455,10 +8502,15 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"geoLocations" : @"geoLocations", @"namedShadowNames" : @"namedShadowNames", }; } ++ (NSValueTransformer *)geoLocationsJSONTransformer { + return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSIoTGeoLocationTarget class]]; +} + @end @implementation AWSIoTIotAnalyticsAction @@ -12432,6 +12484,7 @@ + (BOOL)supportsSecureCoding { + (NSDictionary *)JSONKeyPathsByPropertyKey { return @{ + @"exportMetric" : @"exportMetric", @"metric" : @"metric", @"metricDimension" : @"metricDimension", }; @@ -12462,6 +12515,21 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @end +@implementation AWSIoTMetricsExportConfig + ++ (BOOL)supportsSecureCoding { + return YES; +} + ++ (NSDictionary *)JSONKeyPathsByPropertyKey { + return @{ + @"mqttTopic" : @"mqttTopic", + @"roleArn" : @"roleArn", + }; +} + +@end + @implementation AWSIoTMitigationAction + (BOOL)supportsSecureCoding { @@ -17041,7 +17109,9 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"deleteAdditionalMetricsToRetain" : @"deleteAdditionalMetricsToRetain", @"deleteAlertTargets" : @"deleteAlertTargets", @"deleteBehaviors" : @"deleteBehaviors", + @"deleteMetricsExportConfig" : @"deleteMetricsExportConfig", @"expectedVersion" : @"expectedVersion", + @"metricsExportConfig" : @"metricsExportConfig", @"securityProfileDescription" : @"securityProfileDescription", @"securityProfileName" : @"securityProfileName", }; @@ -17063,6 +17133,10 @@ + (NSValueTransformer *)behaviorsJSONTransformer { return [NSValueTransformer awsmtl_JSONArrayTransformerWithModelClass:[AWSIoTBehavior class]]; } ++ (NSValueTransformer *)metricsExportConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSIoTMetricsExportConfig class]]; +} + @end @implementation AWSIoTUpdateSecurityProfileResponse @@ -17079,6 +17153,7 @@ + (NSDictionary *)JSONKeyPathsByPropertyKey { @"behaviors" : @"behaviors", @"creationDate" : @"creationDate", @"lastModifiedDate" : @"lastModifiedDate", + @"metricsExportConfig" : @"metricsExportConfig", @"securityProfileArn" : @"securityProfileArn", @"securityProfileDescription" : @"securityProfileDescription", @"securityProfileName" : @"securityProfileName", @@ -17118,6 +17193,10 @@ + (NSValueTransformer *)lastModifiedDateJSONTransformer { }]; } ++ (NSValueTransformer *)metricsExportConfigJSONTransformer { + return [NSValueTransformer awsmtl_JSONDictionaryTransformerWithModelClass:[AWSIoTMetricsExportConfig class]]; +} + @end @implementation AWSIoTUpdateStreamRequest diff --git a/AWSIoT/AWSIoTResources.m b/AWSIoT/AWSIoTResources.m index ac59202c3f0..fa5bd586855 100644 --- a/AWSIoT/AWSIoTResources.m +++ b/AWSIoT/AWSIoTResources.m @@ -836,7 +836,7 @@ - (NSString *)definitionString { {\"shape\":\"ThrottlingException\"},\ {\"shape\":\"InternalFailureException\"}\ ],\ - \"documentation\":\"Create a thing group.
This is a control plane operation. See Authorization for information about authorizing control plane actions.
Requires permission to access the CreateThingGroup action.
\"\ + \"documentation\":\"Create a thing group.
This is a control plane operation. See Authorization for information about authorizing control plane actions.
If the ThingGroup
that you create has the exact same attributes as an existing ThingGroup
, you will get a 200 success response.
Requires permission to access the CreateThingGroup action.
\"\ },\ \"CreateThingType\":{\ \"name\":\"CreateThingType\",\ @@ -5713,6 +5713,10 @@ - (NSString *)definitionString { \"suppressAlerts\":{\ \"shape\":\"SuppressAlerts\",\ \"documentation\":\"Suppresses alerts.
\"\ + },\ + \"exportMetric\":{\ + \"shape\":\"ExportMetric\",\ + \"documentation\":\"Value indicates exporting metrics related to the behavior when it is true.
\"\ }\ },\ \"documentation\":\"A Device Defender security profile behavior.
\"\ @@ -7104,7 +7108,7 @@ - (NSString *)definitionString { },\ \"destinationPackageVersions\":{\ \"shape\":\"DestinationPackageVersions\",\ - \"documentation\":\"The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single string. Up to five strings are allowed.
\"\ + \"documentation\":\"The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.
\"\ }\ }\ },\ @@ -7172,7 +7176,7 @@ - (NSString *)definitionString { },\ \"destinationPackageVersions\":{\ \"shape\":\"DestinationPackageVersions\",\ - \"documentation\":\"The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single string. Up to five strings are allowed.
\"\ + \"documentation\":\"The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.
\"\ }\ }\ },\ @@ -7823,6 +7827,10 @@ - (NSString *)definitionString { \"tags\":{\ \"shape\":\"TagList\",\ \"documentation\":\"Metadata that can be used to manage the security profile.
\"\ + },\ + \"metricsExportConfig\":{\ + \"shape\":\"MetricsExportConfig\",\ + \"documentation\":\"Specifies the MQTT topic and role ARN required for metric export.
\"\ }\ }\ },\ @@ -8429,6 +8437,7 @@ - (NSString *)definitionString { }\ }\ },\ + \"DeleteMetricsExportConfig\":{\"type\":\"boolean\"},\ \"DeleteMitigationActionRequest\":{\ \"type\":\"structure\",\ \"required\":[\"actionName\"],\ @@ -9553,7 +9562,7 @@ - (NSString *)definitionString { },\ \"destinationPackageVersions\":{\ \"shape\":\"DestinationPackageVersions\",\ - \"documentation\":\"The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single string. Up to five strings are allowed.
\"\ + \"documentation\":\"The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.
\"\ }\ }\ },\ @@ -9878,6 +9887,10 @@ - (NSString *)definitionString { \"lastModifiedDate\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"The time the security profile was last modified.
\"\ + },\ + \"metricsExportConfig\":{\ + \"shape\":\"MetricsExportConfig\",\ + \"documentation\":\"Specifies the MQTT topic and role ARN required for metric export.
\"\ }\ }\ },\ @@ -10836,6 +10849,7 @@ - (NSString *)definitionString { },\ \"documentation\":\"Allows you to create an exponential rate of rollout for a job.
\"\ },\ + \"ExportMetric\":{\"type\":\"boolean\"},\ \"FailedChecksCount\":{\"type\":\"integer\"},\ \"FailedFindingsCount\":{\"type\":\"long\"},\ \"FailedThings\":{\"type\":\"integer\"},\ @@ -11008,6 +11022,24 @@ - (NSString *)definitionString { \"FunctionArn\":{\"type\":\"string\"},\ \"GenerationId\":{\"type\":\"string\"},\ \"GenericLongValue\":{\"type\":\"long\"},\ + \"GeoLocationTarget\":{\ + \"type\":\"structure\",\ + \"members\":{\ + \"name\":{\ + \"shape\":\"TargetFieldName\",\ + \"documentation\":\"The name
of the geolocation target field. If the target field is part of a named shadow, you must select the named shadow using the namedShadow
filter.
The order
of the geolocation target field. This field is optional. The default value is LatLon
.
A geolocation target that you select to index. Each geolocation target contains a name
and order
key-value pair that specifies the geolocation target fields.
The shadow names that you select to index. The default maximum number of shadow names for indexing is 10. To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference.
\"\ + },\ + \"geoLocations\":{\ + \"shape\":\"GeoLocationsFilter\",\ + \"documentation\":\"The list of geolocation targets that you select to index. The default maximum number of geolocation targets for indexing is 1
. To increase the limit, see Amazon Web Services IoT Device Management Quotas in the Amazon Web Services General Reference.
Provides additional filters for specific data sources. Named shadow is the only data source that currently supports and requires a filter. To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode
to be ON
and specify your shadow names in filter
.
Provides additional selections for named shadows and geolocation data.
To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode
to be ON and specify your shadow names in namedShadowNames
filter.
To add geolocation data to your fleet indexing configuration:
If you store geolocation data in a class/unnamed shadow, set thingIndexingMode
to be REGISTRY_AND_SHADOW
and specify your geolocation data in geoLocations
filter.
If you store geolocation data in a named shadow, set namedShadowIndexingMode
to be ON
, add the shadow name in namedShadowNames
filter, and specify your geolocation data in geoLocations
filter. For more information, see Managing fleet indexing.
The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single string. Up to five strings are allowed.
\"\ + \"documentation\":\"The package version Amazon Resource Names (ARNs) that are installed on the device when the job successfully completes.
Note:The following Length Constraints relates to a single ARN. Up to 25 package version ARNs are allowed.
\"\ }\ },\ \"documentation\":\"The Job
object contains details about a job.
The dimension of a metric. This can't be used with custom metrics.
\"\ + },\ + \"exportMetric\":{\ + \"shape\":\"ExportMetric\",\ + \"documentation\":\"Value added in both Behavior and AdditionalMetricsToRetainV2 to indicate if Device Defender Detect should export the corresponding metrics.
\"\ }\ },\ \"documentation\":\"The metric you want to retain. Dimensions are optional.
\"\ @@ -15413,6 +15453,24 @@ - (NSString *)definitionString { },\ \"documentation\":\"The value to be compared with the metric
.
The MQTT topic that Device Defender Detect should publish messages to for metrics export.
\"\ + },\ + \"roleArn\":{\ + \"shape\":\"RoleArn\",\ + \"documentation\":\"This role ARN has permission to publish MQTT messages, after which Device Defender Detect can assume the role and publish messages on your behalf.
\"\ + }\ + },\ + \"documentation\":\"Set configurations for metrics export.
\"\ + },\ \"Minimum\":{\"type\":\"double\"},\ \"MinimumNumberOfExecutedThings\":{\ \"type\":\"integer\",\ @@ -15598,6 +15656,11 @@ - (NSString *)definitionString { \"max\":65535,\ \"min\":1\ },\ + \"MqttTopic\":{\ + \"type\":\"string\",\ + \"max\":512,\ + \"min\":1\ + },\ \"MqttUsername\":{\ \"type\":\"string\",\ \"max\":65535,\ @@ -17233,7 +17296,7 @@ - (NSString *)definitionString { },\ \"maxResults\":{\ \"shape\":\"QueryMaxResults\",\ - \"documentation\":\"The maximum number of results to return at one time.
\"\ + \"documentation\":\"The maximum number of results to return per page at one time. The response might contain fewer results but will never contain more.
\"\ },\ \"queryVersion\":{\ \"shape\":\"QueryVersion\",\ @@ -17512,7 +17575,7 @@ - (NSString *)definitionString { \"type\":\"string\",\ \"max\":64,\ \"min\":1,\ - \"pattern\":\"[a-zA-Z0-9:_-]+\"\ + \"pattern\":\"[$a-zA-Z0-9:_-]+\"\ },\ \"SigV4Authorization\":{\ \"type\":\"structure\",\ @@ -18113,6 +18176,14 @@ - (NSString *)definitionString { \"type\":\"list\",\ \"member\":{\"shape\":\"AuditCheckName\"}\ },\ + \"TargetFieldName\":{\"type\":\"string\"},\ + \"TargetFieldOrder\":{\ + \"type\":\"string\",\ + \"enum\":[\ + \"LatLon\",\ + \"LonLat\"\ + ]\ + },\ \"TargetSelection\":{\ \"type\":\"string\",\ \"enum\":[\ @@ -18493,7 +18564,7 @@ - (NSString *)definitionString { },\ \"managedFields\":{\ \"shape\":\"Fields\",\ - \"documentation\":\"Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.
\"\ + \"documentation\":\"Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.
You can't modify managed fields by updating fleet indexing configuration.
Contains fields that are indexed and whose types are already known by the Fleet Indexing service.
\"\ + \"documentation\":\"Contains fields that are indexed and whose types are already known by the Fleet Indexing service. This is an optional field. For more information, see Managed fields in the Amazon Web Services IoT Core Developer Guide.
You can't modify managed fields by updating fleet indexing configuration.
Provides additional filters for specific data sources. Named shadow is the only data source that currently supports and requires a filter. To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode
to be ON
and specify your shadow names in filter
.
Provides additional selections for named shadows and geolocation data.
To add named shadows to your fleet indexing configuration, set namedShadowIndexingMode
to be ON and specify your shadow names in namedShadowNames
filter.
To add geolocation data to your fleet indexing configuration:
If you store geolocation data in a class/unnamed shadow, set thingIndexingMode
to be REGISTRY_AND_SHADOW
and specify your geolocation data in geoLocations
filter.
If you store geolocation data in a named shadow, set namedShadowIndexingMode
to be ON
, add the shadow name in namedShadowNames
filter, and specify your geolocation data in geoLocations
filter. For more information, see Managing fleet indexing.
The thing indexing configuration. For more information, see Managing Thing Indexing.
\"\ @@ -19984,6 +20055,14 @@ - (NSString *)definitionString { \"documentation\":\"The expected version of the security profile. A new version is generated whenever the security profile is updated. If you specify a value that is different from the actual version, a VersionConflictException
is thrown.
Specifies the MQTT topic and role ARN required for metric export.
\"\ + },\ + \"deleteMetricsExportConfig\":{\ + \"shape\":\"DeleteMetricsExportConfig\",\ + \"documentation\":\"Set the value as true to delete metrics export related configurations.
\"\ }\ }\ },\ @@ -20031,6 +20110,10 @@ - (NSString *)definitionString { \"lastModifiedDate\":{\ \"shape\":\"Timestamp\",\ \"documentation\":\"The time the security profile was last modified.
\"\ + },\ + \"metricsExportConfig\":{\ + \"shape\":\"MetricsExportConfig\",\ + \"documentation\":\"Specifies the MQTT topic and role ARN required for metric export.
\"\ }\ }\ },\ diff --git a/AWSIoT/AWSIoTService.h b/AWSIoT/AWSIoTService.h index c22b406c50b..9f9e5cdfed8 100644 --- a/AWSIoT/AWSIoTService.h +++ b/AWSIoT/AWSIoTService.h @@ -1210,7 +1210,7 @@ FOUNDATION_EXPORT NSString *const AWSIoTSDKVersion; - (void)createThing:(AWSIoTCreateThingRequest *)request completionHandler:(void (^ _Nullable)(AWSIoTCreateThingResponse * _Nullable response, NSError * _Nullable error))completionHandler; /** -Create a thing group.
This is a control plane operation. See Authorization for information about authorizing control plane actions.
Requires permission to access the CreateThingGroup action.
+Create a thing group.
This is a control plane operation. See Authorization for information about authorizing control plane actions.
If the ThingGroup
that you create has the exact same attributes as an existing ThingGroup
, you will get a 200 success response.
Requires permission to access the CreateThingGroup action.
@param request A container for the necessary parameters to execute the CreateThingGroup service method. @@ -1222,7 +1222,7 @@ FOUNDATION_EXPORT NSString *const AWSIoTSDKVersion; - (AWSTaskCreate a thing group.
This is a control plane operation. See Authorization for information about authorizing control plane actions.
Requires permission to access the CreateThingGroup action.
+Create a thing group.
This is a control plane operation. See Authorization for information about authorizing control plane actions.
If the ThingGroup
that you create has the exact same attributes as an existing ThingGroup
, you will get a 200 success response.
Requires permission to access the CreateThingGroup action.
@param request A container for the necessary parameters to execute the CreateThingGroup service method. @param completionHandler The completion handler to call when the load request is complete. diff --git a/AWSIoTUnitTests/AWSIoTNSSecureCodingTests.m b/AWSIoTUnitTests/AWSIoTNSSecureCodingTests.m index 81ce5b89518..a9294fe0f76 100644 --- a/AWSIoTUnitTests/AWSIoTNSSecureCodingTests.m +++ b/AWSIoTUnitTests/AWSIoTNSSecureCodingTests.m @@ -311,6 +311,7 @@ - (void) test_AWSIoTField API_AVAILABLE(ios(11)); - (void) test_AWSIoTFileLocation API_AVAILABLE(ios(11)); - (void) test_AWSIoTFirehoseAction API_AVAILABLE(ios(11)); - (void) test_AWSIoTFleetMetricNameAndArn API_AVAILABLE(ios(11)); +- (void) test_AWSIoTGeoLocationTarget API_AVAILABLE(ios(11)); - (void) test_AWSIoTGetBehaviorModelTrainingSummariesRequest API_AVAILABLE(ios(11)); - (void) test_AWSIoTGetBehaviorModelTrainingSummariesResponse API_AVAILABLE(ios(11)); - (void) test_AWSIoTGetBucketsAggregationRequest API_AVAILABLE(ios(11)); @@ -509,6 +510,7 @@ - (void) test_AWSIoTMetricDatum API_AVAILABLE(ios(11)); - (void) test_AWSIoTMetricDimension API_AVAILABLE(ios(11)); - (void) test_AWSIoTMetricToRetain API_AVAILABLE(ios(11)); - (void) test_AWSIoTMetricValue API_AVAILABLE(ios(11)); +- (void) test_AWSIoTMetricsExportConfig API_AVAILABLE(ios(11)); - (void) test_AWSIoTMitigationAction API_AVAILABLE(ios(11)); - (void) test_AWSIoTMitigationActionIdentifier API_AVAILABLE(ios(11)); - (void) test_AWSIoTMitigationActionParams API_AVAILABLE(ios(11)); @@ -1872,6 +1874,10 @@ - (void) test_AWSIoTFleetMetricNameAndArn { [self validateSecureCodingForClass:[AWSIoTFleetMetricNameAndArn class]]; } +- (void) test_AWSIoTGeoLocationTarget { + [self validateSecureCodingForClass:[AWSIoTGeoLocationTarget class]]; +} + - (void) test_AWSIoTGetBehaviorModelTrainingSummariesRequest { [self validateSecureCodingForClass:[AWSIoTGetBehaviorModelTrainingSummariesRequest class]]; } @@ -2664,6 +2670,10 @@ - (void) test_AWSIoTMetricValue { [self validateSecureCodingForClass:[AWSIoTMetricValue class]]; } +- (void) test_AWSIoTMetricsExportConfig { + [self validateSecureCodingForClass:[AWSIoTMetricsExportConfig class]]; +} + - (void) test_AWSIoTMitigationAction { [self validateSecureCodingForClass:[AWSIoTMitigationAction class]]; }