{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--aws-codedeploy-deploymentgroup.json",
  "title": "AWSCodeDeployDeploymentGroupProperties",
  "description": "Resource Type definition for AWS::CodeDeploy::DeploymentGroup. Source:- No source definition found, add manually please",
  "x-lintel": {
    "source": "https://raw.githubusercontent.com/lalcebo/json-schema/master/serverless/resources/cloudformation-modified/aws-codedeploy-deploymentgroup.json",
    "sourceSha256": "57b6b453f77b41c06c0a662b8ca6f15a0dfc490c2f1565b2828e49036118f7c1"
  },
  "type": "object",
  "properties": {
    "OnPremisesTagSet": {
      "$ref": "#/$defs/OnPremisesTagSet"
    },
    "ApplicationName": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "DeploymentStyle": {
      "$ref": "#/$defs/DeploymentStyle"
    },
    "ServiceRoleArn": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "BlueGreenDeploymentConfiguration": {
      "$ref": "#/$defs/BlueGreenDeploymentConfiguration"
    },
    "AutoScalingGroups": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "type": "string"
      }
    },
    "Ec2TagSet": {
      "$ref": "#/$defs/EC2TagSet"
    },
    "OutdatedInstancesStrategy": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "TriggerConfigurations": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "$ref": "#/$defs/TriggerConfig"
      }
    },
    "Deployment": {
      "$ref": "#/$defs/Deployment"
    },
    "DeploymentConfigName": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "AlarmConfiguration": {
      "$ref": "#/$defs/AlarmConfiguration"
    },
    "Ec2TagFilters": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "$ref": "#/$defs/EC2TagFilter"
      }
    },
    "ECSServices": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "$ref": "#/$defs/ECSService"
      }
    },
    "AutoRollbackConfiguration": {
      "$ref": "#/$defs/AutoRollbackConfiguration"
    },
    "LoadBalancerInfo": {
      "$ref": "#/$defs/LoadBalancerInfo"
    },
    "DeploymentGroupName": {
      "oneOf": [
        {
          "type": "string"
        },
        {
          "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
        }
      ]
    },
    "Tags": {
      "type": "array",
      "uniqueItems": false,
      "items": {
        "$ref": "#/$defs/Tag"
      }
    },
    "OnPremisesInstanceTagFilters": {
      "type": "array",
      "uniqueItems": true,
      "items": {
        "$ref": "#/$defs/TagFilter"
      }
    }
  },
  "typeName": "AWS::CodeDeploy::DeploymentGroup",
  "readOnlyProperties": [
    "/properties/Id"
  ],
  "$defs": {
    "OnPremisesTagSet": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupOnPremisesTagSetDefinition",
      "properties": {
        "OnPremisesTagSetList": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/OnPremisesTagSetListObject"
          }
        }
      },
      "additionalProperties": false
    },
    "DeploymentStyle": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupDeploymentStyleDefinition",
      "properties": {
        "DeploymentOption": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "DeploymentType": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "BlueGreenDeploymentConfiguration": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupBlueGreenDeploymentConfigurationDefinition",
      "properties": {
        "GreenFleetProvisioningOption": {
          "$ref": "#/$defs/GreenFleetProvisioningOption"
        },
        "DeploymentReadyOption": {
          "$ref": "#/$defs/DeploymentReadyOption"
        },
        "TerminateBlueInstancesOnDeploymentSuccess": {
          "$ref": "#/$defs/BlueInstanceTerminationOption"
        }
      },
      "additionalProperties": false
    },
    "TagFilter": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupTagFilterDefinition",
      "properties": {
        "Value": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Type": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Key": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "TriggerConfig": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupTriggerConfigDefinition",
      "properties": {
        "TriggerTargetArn": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "TriggerName": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "TriggerEvents": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "GitHubLocation": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupGitHubLocationDefinition",
      "properties": {
        "Repository": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "CommitId": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "Repository",
        "CommitId"
      ],
      "additionalProperties": false
    },
    "Deployment": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupDeploymentDefinition",
      "properties": {
        "Description": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Revision": {
          "$ref": "#/$defs/RevisionLocation"
        },
        "IgnoreApplicationStopFailures": {
          "type": "boolean"
        }
      },
      "required": [
        "Revision"
      ],
      "additionalProperties": false
    },
    "ELBInfo": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupELBInfoDefinition",
      "properties": {
        "Name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "EC2TagSetListObject": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupEC2TagSetListObjectDefinition",
      "properties": {
        "Ec2TagGroup": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/EC2TagFilter"
          }
        }
      },
      "additionalProperties": false
    },
    "S3Location": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupS3LocationDefinition",
      "properties": {
        "BundleType": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Bucket": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "ETag": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Version": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Key": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "Bucket",
        "Key"
      ],
      "additionalProperties": false
    },
    "AutoRollbackConfiguration": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupAutoRollbackConfigurationDefinition",
      "properties": {
        "Events": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        },
        "Enabled": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "DeploymentReadyOption": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupDeploymentReadyOptionDefinition",
      "properties": {
        "WaitTimeInMinutes": {
          "type": "integer"
        },
        "ActionOnTimeout": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "EC2TagFilter": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupEC2TagFilterDefinition",
      "properties": {
        "Value": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Type": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Key": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "RevisionLocation": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupRevisionLocationDefinition",
      "properties": {
        "S3Location": {
          "$ref": "#/$defs/S3Location"
        },
        "GitHubLocation": {
          "$ref": "#/$defs/GitHubLocation"
        },
        "RevisionType": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "GreenFleetProvisioningOption": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupGreenFleetProvisioningOptionDefinition",
      "properties": {
        "Action": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "LoadBalancerInfo": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupLoadBalancerInfoDefinition",
      "properties": {
        "TargetGroupInfoList": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/TargetGroupInfo"
          }
        },
        "ElbInfoList": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/ELBInfo"
          }
        },
        "TargetGroupPairInfoList": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/TargetGroupPairInfo"
          }
        }
      },
      "additionalProperties": false
    },
    "AlarmConfiguration": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupAlarmConfigurationDefinition",
      "properties": {
        "Alarms": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/Alarm"
          }
        },
        "IgnorePollAlarmFailure": {
          "type": "boolean"
        },
        "Enabled": {
          "type": "boolean"
        }
      },
      "additionalProperties": false
    },
    "EC2TagSet": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupEC2TagSetDefinition",
      "properties": {
        "Ec2TagSetList": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/EC2TagSetListObject"
          }
        }
      },
      "additionalProperties": false
    },
    "TrafficRoute": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupTrafficRouteDefinition",
      "properties": {
        "ListenerArns": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "type": "string"
          }
        }
      },
      "additionalProperties": false
    },
    "ECSService": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupECSServiceDefinition",
      "properties": {
        "ServiceName": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "ClusterName": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "ServiceName",
        "ClusterName"
      ],
      "additionalProperties": false
    },
    "TargetGroupPairInfo": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupTargetGroupPairInfoDefinition",
      "properties": {
        "ProdTrafficRoute": {
          "$ref": "#/$defs/TrafficRoute"
        },
        "TestTrafficRoute": {
          "$ref": "#/$defs/TrafficRoute"
        },
        "TargetGroups": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/TargetGroupInfo"
          }
        }
      },
      "additionalProperties": false
    },
    "Alarm": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupAlarmDefinition",
      "properties": {
        "Name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "TargetGroupInfo": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupTargetGroupInfoDefinition",
      "properties": {
        "Name": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    },
    "OnPremisesTagSetListObject": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupOnPremisesTagSetListObjectDefinition",
      "properties": {
        "OnPremisesTagGroup": {
          "type": "array",
          "uniqueItems": true,
          "items": {
            "$ref": "#/$defs/TagFilter"
          }
        }
      },
      "additionalProperties": false
    },
    "Tag": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupTagDefinition",
      "properties": {
        "Value": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        },
        "Key": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "required": [
        "Value",
        "Key"
      ],
      "additionalProperties": false
    },
    "BlueInstanceTerminationOption": {
      "type": "object",
      "title": "AWSCodeDeployDeploymentGroupBlueInstanceTerminationOptionDefinition",
      "properties": {
        "TerminationWaitTimeInMinutes": {
          "type": "integer"
        },
        "Action": {
          "oneOf": [
            {
              "type": "string"
            },
            {
              "$ref": "https://catalog.lintel.tools/schemas/schemastore/serverless-framework-configuration/_shared/latest--cf.functions.json#/Aws_CF_FunctionString"
            }
          ]
        }
      },
      "additionalProperties": false
    }
  },
  "primaryIdentifier": [
    "/properties/Id"
  ],
  "additionalProperties": false,
  "required": [
    "ApplicationName",
    "ServiceRoleArn"
  ],
  "createOnlyProperties": [
    "/properties/DeploymentGroupName",
    "/properties/ApplicationName"
  ]
}
