Skip to main content

custom_metrics

Creates, updates, deletes or gets a custom_metric resource or lists custom_metrics in a region

Overview

Namecustom_metrics
TypeResource
DescriptionA custom metric published by your devices to Device Defender.
Idaws.iot.custom_metrics

Fields

NameDatatypeDescription
metric_namestringThe name of the custom metric. This will be used in the metric report submitted from the device/thing. Shouldn't begin with aws: . Cannot be updated once defined.
display_namestringField represents a friendly name in the console for the custom metric; it doesn't have to be unique. Don't use this name as the metric identifier in the device metric report. Can be updated once defined.
metric_typestringThe type of the custom metric. Types include string-list, ip-address-list, number-list, and number.
metric_arnstringThe Amazon Resource Number (ARN) of the custom metric.
tagsarrayAn array of key-value pairs to apply to this resource.
regionstringAWS region.

Methods

NameAccessible byRequired Params
create_resourceINSERTMetricType, region
delete_resourceDELETEdata__Identifier, region
update_resourceUPDATEdata__Identifier, data__PatchDocument, region
list_resourcesSELECTregion
get_resourceSELECTdata__Identifier, region

SELECT examples

Gets all custom_metrics in a region.

SELECT
region,
metric_name,
display_name,
metric_type,
metric_arn,
tags
FROM aws.iot.custom_metrics
WHERE region = 'us-east-1';

Gets all properties from an individual custom_metric.

SELECT
region,
metric_name,
display_name,
metric_type,
metric_arn,
tags
FROM aws.iot.custom_metrics
WHERE region = 'us-east-1' AND data__Identifier = '<MetricName>';

INSERT example

Use the following StackQL query and manifest file to create a new custom_metric resource, using stack-deploy.

/*+ create */
INSERT INTO aws.iot.custom_metrics (
MetricType,
region
)
SELECT
'{{ MetricType }}',
'{{ region }}';

DELETE example

/*+ delete */
DELETE FROM aws.iot.custom_metrics
WHERE data__Identifier = '<MetricName>'
AND region = 'us-east-1';

Permissions

To operate on the custom_metrics resource, the following permissions are required:

Create

iot:CreateCustomMetric,
iot:TagResource

Read

iot:DescribeCustomMetric,
iot:ListTagsForResource

Update

iot:UpdateCustomMetric,
iot:ListTagsForResource,
iot:UntagResource,
iot:TagResource

Delete

iot:DescribeCustomMetric,
iot:DeleteCustomMetric

List

iot:ListCustomMetrics