{
 "additionalProperties": false,
 "createOnlyProperties": [
  "/properties/Name",
  "/properties/FunctionName"
 ],
 "definitions": {
  "AliasRoutingConfiguration": {
   "additionalProperties": false,
   "properties": {
    "AdditionalVersionWeights": {
     "insertionOrder": false,
     "items": {
      "$ref": "#/definitions/VersionWeight"
     },
     "type": "array",
     "uniqueItems": true
    }
   },
   "type": "object"
  },
  "ProvisionedConcurrencyConfiguration": {
   "additionalProperties": false,
   "properties": {
    "ProvisionedConcurrentExecutions": {
     "type": "integer"
    }
   },
   "required": [
    "ProvisionedConcurrentExecutions"
   ],
   "type": "object"
  },
  "VersionWeight": {
   "additionalProperties": false,
   "properties": {
    "FunctionVersion": {
     "type": "string"
    },
    "FunctionWeight": {
     "type": "number"
    }
   },
   "required": [
    "FunctionVersion",
    "FunctionWeight"
   ],
   "type": "object"
  }
 },
 "primaryIdentifier": [
  "/properties/AliasArn"
 ],
 "properties": {
  "AliasArn": {
   "type": "string"
  },
  "Description": {
   "maxLength": 256,
   "type": "string"
  },
  "FunctionName": {
   "maxLength": 140,
   "minLength": 1,
   "pattern": "(arn:(aws[a-zA-Z-]*)?:lambda:)?([a-z]{2}((-gov)|(-iso([a-z]?)))?-[a-z]+-\\d{1}:)?(\\d{12}:)?(function:)?([a-zA-Z0-9-_]+)(:(\\$LATEST|[a-zA-Z0-9-_]+))?",
   "type": "string"
  },
  "FunctionVersion": {
   "maxLength": 1024,
   "minLength": 1,
   "pattern": "(\\$LATEST(\\.PUBLISHED)?|[0-9]+)",
   "type": "string"
  },
  "Name": {
   "maxLength": 128,
   "minLength": 1,
   "pattern": "(?!^[0-9]+$)([a-zA-Z0-9-_]+)",
   "type": "string"
  },
  "ProvisionedConcurrencyConfig": {
   "$ref": "#/definitions/ProvisionedConcurrencyConfiguration"
  },
  "RoutingConfig": {
   "$ref": "#/definitions/AliasRoutingConfiguration"
  }
 },
 "propertyTransform": {
  "/properties/FunctionName": "$split(FunctionName, \":\")[-1] $OR FunctionName $OR $join([\"((arn:.*:lambda:.*:[0-9]{12}:function)|([0-9]{12}:function)):\", $split(FunctionName, \":\")[-1]])"
 },
 "readOnlyProperties": [
  "/properties/AliasArn"
 ],
 "required": [
  "FunctionName",
  "FunctionVersion",
  "Name"
 ],
 "sourceUrl": "https://github.com/aws-cloudformation/aws-cloudformation-resource-providers-lambda",
 "tagging": {
  "taggable": false
 },
 "typeName": "AWS::Lambda::Alias"
}
