Amazon IoT Device Defender Security Profiles API

The Security Profiles API from Amazon IoT Device Defender — 4 operation(s) for security profiles.

OpenAPI Specification

amazon-iot-device-defender-security-profiles-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  version: 2015-05-28
  x-release: v4
  title: AWS IoT Accept Certificate Transfer Security Profiles API
  description: '<fullname>IoT</fullname> <p>IoT provides secure, bi-directional communication between Internet-connected devices (such as sensors, actuators, embedded devices, or smart appliances) and the Amazon Web Services cloud. You can discover your custom IoT-Data endpoint to communicate with, configure rules for data processing and integration with other services, organize resources associated with each device (Registry), configure logging, and create and manage policies and credentials to authenticate devices.</p> <p>The service endpoints that expose this API are listed in <a href="https://docs.aws.amazon.com/general/latest/gr/iot-core.html">Amazon Web Services IoT Core Endpoints and Quotas</a>. You must use the endpoint for the region that has the resources you want to access.</p> <p>The service name used by <a href="https://docs.aws.amazon.com/general/latest/gr/signature-version-4.html">Amazon Web Services Signature Version 4</a> to sign the request is: <i>execute-api</i>.</p> <p>For more information about how IoT works, see the <a href="https://docs.aws.amazon.com/iot/latest/developerguide/aws-iot-how-it-works.html">Developer Guide</a>.</p> <p>For information about how to use the credentials provider for IoT, see <a href="https://docs.aws.amazon.com/iot/latest/developerguide/authorizing-direct-aws.html">Authorizing Direct Calls to Amazon Web Services Services</a>.</p>'
  x-logo:
    url: https://api.apis.guru/v2/cache/logo/https_twitter.com_awscloud_profile_image.png
    backgroundColor: '#FFFFFF'
  termsOfService: https://aws.amazon.com/service-terms/
  contact:
    name: Mike Ralphson
    email: mike.ralphson@gmail.com
    url: https://github.com/mermade/aws2openapi
    x-twitter: PermittedSoc
  license:
    name: Apache 2.0 License
    url: http://www.apache.org/licenses/
  x-providerName: amazonaws.com
  x-serviceName: iot
  x-aws-signingName: iot
  x-origin:
  - contentType: application/json
    url: https://raw.githubusercontent.com/aws/aws-sdk-js/master/apis/iot-2015-05-28.normal.json
    converter:
      url: https://github.com/mermade/aws2openapi
      version: 1.0.0
    x-apisguru-driver: external
  x-apiClientRegistration:
    url: https://portal.aws.amazon.com/gp/aws/developer/registration/index.html?nc2=h_ct
  x-apisguru-categories:
  - cloud
  x-preferred: true
servers:
- url: http://iot.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The AWS IoT multi-region endpoint
- url: https://iot.{region}.amazonaws.com
  variables:
    region:
      description: The AWS region
      enum:
      - us-east-1
      - us-east-2
      - us-west-1
      - us-west-2
      - us-gov-west-1
      - us-gov-east-1
      - ca-central-1
      - eu-north-1
      - eu-west-1
      - eu-west-2
      - eu-west-3
      - eu-central-1
      - eu-south-1
      - af-south-1
      - ap-northeast-1
      - ap-northeast-2
      - ap-northeast-3
      - ap-southeast-1
      - ap-southeast-2
      - ap-east-1
      - ap-south-1
      - sa-east-1
      - me-south-1
      default: us-east-1
  description: The AWS IoT multi-region endpoint
- url: http://iot.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The AWS IoT endpoint for China (Beijing) and China (Ningxia)
- url: https://iot.{region}.amazonaws.com.cn
  variables:
    region:
      description: The AWS region
      enum:
      - cn-north-1
      - cn-northwest-1
      default: cn-north-1
  description: The AWS IoT endpoint for China (Beijing) and China (Ningxia)
security:
- hmac: []
tags:
- name: Security Profiles
paths:
  /security-profiles/{securityProfileName}/targets#securityProfileTargetArn:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    put:
      operationId: AttachSecurityProfile
      description: <p>Associates a Device Defender security profile with a thing group or this account. Each thing group or account can have up to five security profiles associated with it.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">AttachSecurityProfile</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AttachSecurityProfileResponse'
        '480':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: LimitExceededException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LimitExceededException'
        '483':
          description: VersionConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionConflictException'
        '484':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '485':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
      parameters:
      - name: securityProfileName
        in: path
        required: true
        description: The security profile that is attached.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      - name: securityProfileTargetArn
        in: query
        required: true
        description: The ARN of the target (thing group) to which the security profile is attached.
        schema:
          type: string
      summary: Amazon IoT Device Defender Attach Security Profile
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Security Profiles
    delete:
      operationId: DetachSecurityProfile
      description: <p>Disassociates a Device Defender security profile from a thing group or from this account.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">DetachSecurityProfile</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetachSecurityProfileResponse'
        '480':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '483':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
      parameters:
      - name: securityProfileName
        in: path
        required: true
        description: The security profile that is detached.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      - name: securityProfileTargetArn
        in: query
        required: true
        description: The ARN of the thing group from which the security profile is detached.
        schema:
          type: string
      summary: Amazon IoT Device Defender Detach Security Profile
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Security Profiles
  /security-profiles/{securityProfileName}:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    post:
      operationId: CreateSecurityProfile
      description: <p>Creates a Device Defender security profile.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">CreateSecurityProfile</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateSecurityProfileResponse'
        '480':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '481':
          description: ResourceAlreadyExistsException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceAlreadyExistsException'
        '482':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '483':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
      parameters:
      - name: securityProfileName
        in: path
        required: true
        description: The name you are giving to the security profile.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                securityProfileDescription:
                  description: A description of the security profile.
                  type: string
                  pattern: '[\p{Graph}\x20]*'
                  maxLength: 1000
                behaviors:
                  description: Specifies the behaviors that, when violated by a device (thing), cause an alert.
                  type: array
                  items:
                    $ref: '#/components/schemas/Behavior'
                  maxItems: 100
                alertTargets:
                  description: Specifies the destinations to which alerts are sent. (Alerts are always sent to the console.) Alerts are generated when a device (thing) violates a behavior.
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/AlertTarget'
                additionalMetricsToRetain:
                  description: <p> <i>Please use <a>CreateSecurityProfileRequest$additionalMetricsToRetainV2</a> instead.</i> </p> <p>A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's <code>behaviors</code>, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.</p>
                  type: array
                  items:
                    $ref: '#/components/schemas/BehaviorMetric'
                additionalMetricsToRetainV2:
                  description: A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's <code>behaviors</code>, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.
                  type: array
                  items:
                    $ref: '#/components/schemas/MetricToRetain'
                tags:
                  description: Metadata that can be used to manage the security profile.
                  type: array
                  items:
                    $ref: '#/components/schemas/Tag'
      summary: Amazon IoT Device Defender Create Security Profile
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Security Profiles
    delete:
      operationId: DeleteSecurityProfile
      description: <p>Deletes a Device Defender security profile.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">DeleteSecurityProfile</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DeleteSecurityProfileResponse'
        '480':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '481':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '482':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '483':
          description: VersionConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionConflictException'
      parameters:
      - name: securityProfileName
        in: path
        required: true
        description: The name of the security profile to be deleted.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      - name: expectedVersion
        in: query
        required: false
        description: 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 <code>VersionConflictException</code> is thrown.
        schema:
          type: integer
      summary: Amazon IoT Device Defender Delete Security Profile
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Security Profiles
    get:
      operationId: DescribeSecurityProfile
      description: <p>Gets information about a Device Defender security profile.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">DescribeSecurityProfile</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DescribeSecurityProfileResponse'
        '480':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '483':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
      parameters:
      - name: securityProfileName
        in: path
        required: true
        description: The name of the security profile whose information you want to get.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Defender Describe Security Profile
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Security Profiles
    patch:
      operationId: UpdateSecurityProfile
      description: <p>Updates a Device Defender security profile.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">UpdateSecurityProfile</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UpdateSecurityProfileResponse'
        '480':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: VersionConflictException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VersionConflictException'
        '483':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '484':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
      parameters:
      - name: securityProfileName
        in: path
        required: true
        description: The name of the security profile you want to update.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      - name: expectedVersion
        in: query
        required: false
        description: 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 <code>VersionConflictException</code> is thrown.
        schema:
          type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                securityProfileDescription:
                  description: A description of the security profile.
                  type: string
                  pattern: '[\p{Graph}\x20]*'
                  maxLength: 1000
                behaviors:
                  description: Specifies the behaviors that, when violated by a device (thing), cause an alert.
                  type: array
                  items:
                    $ref: '#/components/schemas/Behavior'
                  maxItems: 100
                alertTargets:
                  description: Where the alerts are sent. (Alerts are always sent to the console.)
                  type: object
                  additionalProperties:
                    $ref: '#/components/schemas/AlertTarget'
                additionalMetricsToRetain:
                  description: <p> <i>Please use <a>UpdateSecurityProfileRequest$additionalMetricsToRetainV2</a> instead.</i> </p> <p>A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's <code>behaviors</code>, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.</p>
                  type: array
                  items:
                    $ref: '#/components/schemas/BehaviorMetric'
                additionalMetricsToRetainV2:
                  description: A list of metrics whose data is retained (stored). By default, data is retained for any metric used in the profile's behaviors, but it is also retained for any metric specified here. Can be used with custom metrics; cannot be used with dimensions.
                  type: array
                  items:
                    $ref: '#/components/schemas/MetricToRetain'
                deleteBehaviors:
                  description: If true, delete all <code>behaviors</code> defined for this security profile. If any <code>behaviors</code> are defined in the current invocation, an exception occurs.
                  type: boolean
                deleteAlertTargets:
                  description: If true, delete all <code>alertTargets</code> defined for this security profile. If any <code>alertTargets</code> are defined in the current invocation, an exception occurs.
                  type: boolean
                deleteAdditionalMetricsToRetain:
                  description: If true, delete all <code>additionalMetricsToRetain</code> defined for this security profile. If any <code>additionalMetricsToRetain</code> are defined in the current invocation, an exception occurs.
                  type: boolean
      summary: Amazon IoT Device Defender Update Security Profile
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Security Profiles
  /security-profiles:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    get:
      operationId: ListSecurityProfiles
      description: <p>Lists the Device Defender security profiles you've created. You can filter security profiles by dimension or custom metric.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">ListSecurityProfiles</a> action.</p> <note> <p> <code>dimensionName</code> and <code>metricName</code> cannot be used in the same request.</p> </note>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListSecurityProfilesResponse'
        '480':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '481':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '482':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
        '483':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
      parameters:
      - name: nextToken
        in: query
        required: false
        description: The token for the next set of results.
        schema:
          type: string
      - name: maxResults
        in: query
        required: false
        description: The maximum number of results to return at one time.
        schema:
          type: integer
          minimum: 1
          maximum: 250
      - name: dimensionName
        in: query
        required: false
        description: 'A filter to limit results to the security profiles that use the defined dimension. Cannot be used with <code>metricName</code> '
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      - name: metricName
        in: query
        required: false
        description: ' The name of the custom metric. Cannot be used with <code>dimensionName</code>. '
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      summary: Amazon IoT Device Defender List Security Profiles
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Security Profiles
  /security-profiles/{securityProfileName}/targets:
    parameters:
    - $ref: '#/components/parameters/X-Amz-Content-Sha256'
    - $ref: '#/components/parameters/X-Amz-Date'
    - $ref: '#/components/parameters/X-Amz-Algorithm'
    - $ref: '#/components/parameters/X-Amz-Credential'
    - $ref: '#/components/parameters/X-Amz-Security-Token'
    - $ref: '#/components/parameters/X-Amz-Signature'
    - $ref: '#/components/parameters/X-Amz-SignedHeaders'
    get:
      operationId: ListTargetsForSecurityProfile
      description: <p>Lists the targets (thing groups) associated with a given Device Defender security profile.</p> <p>Requires permission to access the <a href="https://docs.aws.amazon.com/service-authorization/latest/reference/list_awsiot.html#awsiot-actions-as-permissions">ListTargetsForSecurityProfile</a> action.</p>
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListTargetsForSecurityProfileResponse'
        '480':
          description: InvalidRequestException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InvalidRequestException'
        '481':
          description: ResourceNotFoundException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ResourceNotFoundException'
        '482':
          description: ThrottlingException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ThrottlingException'
        '483':
          description: InternalFailureException
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/InternalFailureException'
      parameters:
      - name: securityProfileName
        in: path
        required: true
        description: The security profile.
        schema:
          type: string
          pattern: '[a-zA-Z0-9:_-]+'
          minLength: 1
          maxLength: 128
      - name: nextToken
        in: query
        required: false
        description: The token for the next set of results.
        schema:
          type: string
      - name: maxResults
        in: query
        required: false
        description: The maximum number of results to return at one time.
        schema:
          type: integer
          minimum: 1
          maximum: 250
      summary: Amazon IoT Device Defender List Targets for Security Profile
      x-microcks-operation:
        delay: 0
        dispatcher: FALLBACK
      tags:
      - Security Profiles
components:
  schemas:
    Behavior:
      type: object
      required:
      - name
      properties:
        name:
          allOf:
          - $ref: '#/components/schemas/BehaviorName'
          - description: The name you've given to the behavior.
        metric:
          allOf:
          - $ref: '#/components/schemas/BehaviorMetric'
          - description: What is measured by the behavior.
        metricDimension:
          allOf:
          - $ref: '#/components/schemas/MetricDimension'
          - description: The dimension for a metric in your behavior. For example, using a <code>TOPIC_FILTER</code> dimension, you can narrow down the scope of the metric to only MQTT topics where the name matches the pattern specified in the dimension. This can't be used with custom metrics.
        criteria:
          allOf:
          - $ref: '#/components/schemas/BehaviorCriteria'
          - description: The criteria that determine if a device is behaving normally in regard to the <code>metric</code>.
        suppressAlerts:
          allOf:
          - $ref: '#/components/schemas/SuppressAlerts'
          - description: ' Suppresses alerts. '
      description: A Device Defender security profile behavior.
    ResourceNotFoundException: {}
    EvaluationStatistic:
      type: string
      pattern: (p0|p0\.1|p0\.01|p1|p10|p50|p90|p99|p99\.9|p99\.99|p100)
    StringList:
      type: array
      items:
        $ref: '#/components/schemas/stringValue'
    SecurityProfileIdentifier:
      type: object
      required:
      - name
      - arn
      properties:
        name:
          allOf:
          - $ref: '#/components/schemas/SecurityProfileName'
          - description: The name you've given to the security profile.
        arn:
          allOf:
          - $ref: '#/components/schemas/SecurityProfileArn'
          - description: The ARN of the security profile.
      description: Identifying information for a Device Defender security profile.
    DetachSecurityProfileResponse:
      type: object
      properties: {}
    Number:
      type: number
      format: double
    Timestamp:
      type: string
      format: date-time
    DimensionValueOperator:
      type: string
      enum:
      - IN
      - NOT_IN
    InternalFailureException: {}
    NumberList:
      type: array
      items:
        $ref: '#/components/schemas/Number'
    stringValue:
      type: string
    MetricDimension:
      type: object
      required:
      - dimensionName
      properties:
        dimensionName:
          allOf:
          - $ref: '#/components/schemas/DimensionName'
          - description: A unique identifier for the dimension.
        operator:
          allOf:
          - $ref: '#/components/schemas/DimensionValueOperator'
          - description: 'Defines how the <code>dimensionValues</code> of a dimension are interpreted. For example, for dimension type TOPIC_FILTER, the <code>IN</code> operator, a message will be counted only if its topic matches one of the topic filters. With <code>NOT_IN</code> operator, a message will be counted only if it doesn''t match any of the topic filters. The operator is optional: if it''s not provided (is <code>null</code>), it will be interpreted as <code>IN</code>.'
      description: The dimension of a metric.
    NextToken:
      type: string
    BehaviorMetric:
      type: string
    Cidrs:
      type: array
      items:
        $ref: '#/components/schemas/Cidr'
    BehaviorName:
      type: string
      pattern: '[a-zA-Z0-9:_-]+'
      minLength: 1
      maxLength: 128
    AlertTargetArn:
      type: string
    ResourceAlreadyExistsException: {}
    SuppressAlerts:
      type: boolean
    RoleArn:
      type: string
      minLength: 20
      maxLength: 2048
    ConsecutiveDatapointsToClear:
      type: integer
      minimum: 1
      maximu

# --- truncated at 32 KB (48 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/amazon-iot-device-defender/refs/heads/main/openapi/amazon-iot-device-defender-security-profiles-api-openapi.yml