{
 "additionalProperties": false,
 "createOnlyProperties": [
  "/properties/CompatibleRuntimes",
  "/properties/LicenseInfo",
  "/properties/CompatibleArchitectures",
  "/properties/LayerName",
  "/properties/Description",
  "/properties/Content"
 ],
 "definitions": {
  "Content": {
   "additionalProperties": false,
   "properties": {
    "S3Bucket": {
     "format": "AWS::S3::Bucket.Name",
     "maxLength": 63,
     "minLength": 3,
     "pattern": "^[0-9A-Za-z\\.\\-_]*(?<!\\.)$",
     "type": "string"
    },
    "S3Key": {
     "maxLength": 1024,
     "minLength": 1,
     "type": "string"
    },
    "S3ObjectVersion": {
     "maxLength": 1024,
     "minLength": 1,
     "type": "string"
    }
   },
   "required": [
    "S3Bucket",
    "S3Key"
   ],
   "type": "object"
  }
 },
 "primaryIdentifier": [
  "/properties/LayerVersionArn"
 ],
 "properties": {
  "CompatibleArchitectures": {
   "insertionOrder": false,
   "items": {
    "enum": [
     "arm64",
     "x86_64"
    ],
    "type": "string"
   },
   "maxItems": 2,
   "minItems": 0,
   "type": "array",
   "uniqueItems": false
  },
  "CompatibleRuntimes": {
   "insertionOrder": false,
   "items": {
    "enum": [
     "dotnet10",
     "dotnet6",
     "dotnet8",
     "dotnetcore1.0",
     "dotnetcore2.0",
     "dotnetcore2.1",
     "dotnetcore3.1",
     "go1.x",
     "java11",
     "java17",
     "java21",
     "java25",
     "java8",
     "java8.al2",
     "nodejs",
     "nodejs10.x",
     "nodejs12.x",
     "nodejs14.x",
     "nodejs16.x",
     "nodejs18.x",
     "nodejs20.x",
     "nodejs22.x",
     "nodejs24.x",
     "nodejs4.3",
     "nodejs4.3-edge",
     "nodejs6.10",
     "nodejs8.10",
     "provided",
     "provided.al2",
     "provided.al2023",
     "python2.7",
     "python3.10",
     "python3.11",
     "python3.12",
     "python3.13",
     "python3.14",
     "python3.6",
     "python3.7",
     "python3.8",
     "python3.9",
     "ruby2.5",
     "ruby2.7",
     "ruby3.2",
     "ruby3.3",
     "ruby3.4",
     "ruby4.0"
    ],
    "type": "string"
   },
   "maxItems": 15,
   "minItems": 0,
   "type": "array",
   "uniqueItems": false
  },
  "Content": {
   "$ref": "#/definitions/Content"
  },
  "Description": {
   "maxLength": 256,
   "minLength": 0,
   "type": "string"
  },
  "LayerName": {
   "maxLength": 140,
   "minLength": 1,
   "pattern": "^(arn:[a-zA-Z0-9-]+:lambda:[a-zA-Z0-9-]+:\\d{12}:layer:[a-zA-Z0-9-_]+)|[a-zA-Z0-9-_]+$",
   "type": "string"
  },
  "LayerVersionArn": {
   "type": "string"
  },
  "LicenseInfo": {
   "maxLength": 512,
   "minLength": 0,
   "type": "string"
  }
 },
 "propertyTransform": {
  "/properties/LayerName": "$split(LayerName, \":\")[-1] $OR LayerName"
 },
 "readOnlyProperties": [
  "/properties/LayerVersionArn"
 ],
 "required": [
  "Content"
 ],
 "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-lambda.git",
 "tagging": {
  "cloudFormationSystemTags": false,
  "tagOnCreate": false,
  "tagUpdatable": false,
  "taggable": false
 },
 "typeName": "AWS::Lambda::LayerVersion",
 "writeOnlyProperties": [
  "/properties/Content"
 ]
}
