{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-iotwireless-wirelessdevice.json",
  "title": "AWSIoTWirelessWirelessDeviceProperties",
  "description": "Create and manage wireless gateways, including LoRa gateways.. Source:- <https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git>",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/aws-iotwireless-wirelessdevice.json",
    "sourceSha256": "a2cf0abfde8f1899ed77a4d5d987032916db38877d55a6fa64a62d44cdf8fdd3"
  },
  "type": "object",
  "properties": {
    "Type": {
      "oneOf": [
        {
          "type": "string",
          "enum": [
            "Sidewalk",
            "LoRaWAN"
          ]
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Wireless device type, currently only Sidewalk and LoRa"
    },
    "Name": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 256
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Wireless device name"
    },
    "Description": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 2048
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Wireless device description"
    },
    "DestinationName": {
      "oneOf": [
        {
          "type": "string",
          "maxLength": 128
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Wireless device destination name"
    },
    "LoRaWAN": {
      "description": "The combination of Package, Station and Model which represents the version of the LoRaWAN Wireless Device.",
      "$ref": "#/$defs/LoRaWANDevice"
    },
    "Tags": {
      "description": "A list of key-value pairs that contain metadata for the device. Currently not supported, will not create if tags are passed.",
      "type": "array",
      "uniqueItems": true,
      "maxItems": 200,
      "insertionOrder": false,
      "items": {
        "$ref": "#/$defs/Tag"
      }
    },
    "ThingArn": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "Thing arn. Passed into update to associate Thing with Wireless device."
    },
    "LastUplinkReceivedAt": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ],
      "description": "The date and time when the most recent uplink was received."
    }
  },
  "typeName": "AWS::IoTWireless::WirelessDevice",
  "taggable": true,
  "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-rpdk.git",
  "additionalProperties": false,
  "primaryIdentifier": [
    "/properties/Id"
  ],
  "$defs": {
    "OtaaV10x": {
      "type": "object",
      "title": "AWSIoTWirelessWirelessDeviceOtaaV10xDefinition",
      "properties": {
        "AppKey": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-fA-F0-9]{32}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "AppEui": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-fA-F0-9]{16}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "AppKey",
        "AppEui"
      ],
      "additionalProperties": false
    },
    "OtaaV11": {
      "type": "object",
      "title": "AWSIoTWirelessWirelessDeviceOtaaV11Definition",
      "properties": {
        "AppKey": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-fA-F0-9]{32}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "NwkKey": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-fA-F0-9]{32}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "JoinEui": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-fA-F0-9]{16}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "AppKey",
        "NwkKey",
        "JoinEui"
      ],
      "additionalProperties": false
    },
    "SessionKeysAbpV11": {
      "type": "object",
      "title": "AWSIoTWirelessWirelessDeviceSessionKeysAbpV11Definition",
      "properties": {
        "FNwkSIntKey": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-fA-F0-9]{32}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "SNwkSIntKey": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-fA-F0-9]{32}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "NwkSEncKey": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-fA-F0-9]{32}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "AppSKey": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-fA-F0-9]{32}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "FNwkSIntKey",
        "SNwkSIntKey",
        "NwkSEncKey",
        "AppSKey"
      ],
      "additionalProperties": false
    },
    "AbpV11": {
      "type": "object",
      "title": "AWSIoTWirelessWirelessDeviceAbpV11Definition",
      "properties": {
        "DevAddr": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-fA-F0-9]{8}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "SessionKeys": {
          "$ref": "#/$defs/SessionKeysAbpV11"
        }
      },
      "required": [
        "DevAddr",
        "SessionKeys"
      ],
      "additionalProperties": false
    },
    "SessionKeysAbpV10x": {
      "type": "object",
      "title": "AWSIoTWirelessWirelessDeviceSessionKeysAbpV10xDefinition",
      "properties": {
        "NwkSKey": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-fA-F0-9]{32}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "AppSKey": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-fA-F0-9]{32}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "NwkSKey",
        "AppSKey"
      ],
      "additionalProperties": false
    },
    "AbpV10x": {
      "type": "object",
      "title": "AWSIoTWirelessWirelessDeviceAbpV10xDefinition",
      "properties": {
        "DevAddr": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-fA-F0-9]{8}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "SessionKeys": {
          "$ref": "#/$defs/SessionKeysAbpV10x"
        }
      },
      "required": [
        "DevAddr",
        "SessionKeys"
      ],
      "additionalProperties": false
    },
    "LoRaWANDevice": {
      "type": "object",
      "title": "AWSIoTWirelessWirelessDeviceLoRaWANDeviceDefinition",
      "properties": {
        "DevEui": {
          "oneOf": [
            {
              "type": "string",
              "pattern": "[a-f0-9]{16}"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "DeviceProfileId": {
          "oneOf": [
            {
              "type": "string",
              "maxLength": 256
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "ServiceProfileId": {
          "oneOf": [
            {
              "type": "string",
              "maxLength": 256
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "OtaaV11": {
          "$ref": "#/$defs/OtaaV11"
        },
        "OtaaV10x": {
          "$ref": "#/$defs/OtaaV10x"
        },
        "AbpV11": {
          "$ref": "#/$defs/AbpV11"
        },
        "AbpV10x": {
          "$ref": "#/$defs/AbpV10x"
        }
      },
      "oneOf": [
        {
          "required": [
            "OtaaV11"
          ]
        },
        {
          "required": [
            "OtaaV10x"
          ]
        },
        {
          "required": [
            "AbpV11"
          ]
        },
        {
          "required": [
            "AbpV10x"
          ]
        }
      ],
      "additionalProperties": false
    },
    "Tag": {
      "type": "object",
      "properties": {
        "Key": {
          "oneOf": [
            {
              "type": "string",
              "minLength": 1,
              "maxLength": 128
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Value": {
          "oneOf": [
            {
              "type": "string",
              "minLength": 0,
              "maxLength": 256
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "title": "AWSIoTWirelessWirelessDeviceTagDefinition",
      "additionalProperties": false
    }
  },
  "required": [
    "Type",
    "DestinationName"
  ],
  "readOnlyProperties": [
    "/properties/ThingName",
    "/properties/Id",
    "/properties/Arn"
  ]
}
