{
    "typeName": "JFrog::Xray::EC2Instance::MODULE",
    "description": "Schema for Module Fragment of type JFrog::Xray::EC2Instance::MODULE",
    "properties": {
        "Parameters": {
            "type": "object",
            "properties": {
                "LogicalId": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type",
                        "Description"
                    ],
                    "description": "Logical Id of the MODULE"
                },
                "PrivateSubnet2Id": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type",
                        "Description"
                    ],
                    "description": "ID of the private subnet in Availability Zone 2 of your existing VPC (e.g., subnet-z0376dab)."
                },
                "PrivateSubnet1Id": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type",
                        "Description"
                    ],
                    "description": "ID of the private subnet in Availability Zone 1 of your existing VPC (e.g., subnet-z0376dab)."
                },
                "KeyPairName": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "MinScalingNodes": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "MaxScalingNodes": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "DeploymentTag": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "ArtifactoryProduct": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type",
                        "Description"
                    ],
                    "description": "JFrog Artifactory product you want to install into an AMI."
                },
                "QsS3BucketName": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "QsS3KeyPrefix": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "QsS3Uri": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "DatabaseDriver": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "DatabaseType": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "DatabaseUser": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "DatabasePassword": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "MasterKey": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "ExtraJavaOptions": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "SecurityGroups": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "XrayHostProfile": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "XrayHostRole": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "XrayInstanceType": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "JfrogInternalUrl": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "VolumeSize": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "XrayDatabaseUser": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "XrayDatabasePassword": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "XrayMasterDatabaseUrl": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "XrayDatabaseUrl": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "XrayVersion": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type"
                    ]
                },
                "UserDataDirectory": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string"
                        },
                        "Description": {
                            "type": "string"
                        }
                    },
                    "required": [
                        "Type",
                        "Description"
                    ],
                    "description": "Directory to store Artifactory data. Can be used to store data (via symlink) in detachable volume"
                }
            }
        },
        "Resources": {
            "properties": {
                "XrayScalingGroup": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string",
                            "const": "AWS::AutoScaling::AutoScalingGroup"
                        },
                        "Properties": {
                            "type": "object"
                        }
                    }
                },
                "XrayLaunchConfiguration": {
                    "type": "object",
                    "properties": {
                        "Type": {
                            "type": "string",
                            "const": "AWS::AutoScaling::LaunchConfiguration"
                        },
                        "Properties": {
                            "type": "object"
                        }
                    }
                }
            },
            "type": "object",
            "additionalProperties": false
        }
    },
    "additionalProperties": true
}
