{
  "$schema": "https://schema.management.azure.com/schemas/2019-04-01/deploymentTemplate.json#",
  "contentVersion": "1.0.0.0",
  "metadata": {
    "description": "InfiniSynapse desk composite ARM skeleton for ADF complex transform after exploratory data analysis. CC BY 4.0. Not a Microsoft sample."
  },
  "parameters": {
    "factoryName": {
      "type": "string"
    },
    "location": {
      "type": "string",
      "defaultValue": "eastus"
    }
  },
  "resources": [
    {
      "type": "Microsoft.DataFactory/factories",
      "apiVersion": "2018-06-01",
      "name": "[parameters('factoryName')]",
      "location": "[parameters('location')]",
      "identity": {
        "type": "SystemAssigned"
      },
      "properties": {}
    },
    {
      "type": "Microsoft.DataFactory/factories/pipelines",
      "apiVersion": "2018-06-01",
      "name": "[concat(parameters('factoryName'), '/pl_adf_complex_transform_starter')]",
      "dependsOn": [
        "[resourceId('Microsoft.DataFactory/factories', parameters('factoryName'))]"
      ],
      "properties": {
        "description": "Desk composite starter: Copy x2 then stored procedure. Run exploratory data analysis before production use.",
        "activities": [
          {
            "name": "Copy_orders_raw",
            "type": "Copy",
            "dependsOn": [],
            "policy": {
              "timeout": "0.12:00:00",
              "retry": 2
            },
            "typeProperties": {
              "source": {
                "type": "DelimitedTextSource"
              },
              "sink": {
                "type": "AzureSqlSink"
              }
            }
          },
          {
            "name": "Copy_customers_raw",
            "type": "Copy",
            "dependsOn": [],
            "policy": {
              "timeout": "0.12:00:00",
              "retry": 2
            },
            "typeProperties": {
              "source": {
                "type": "DelimitedTextSource"
              },
              "sink": {
                "type": "AzureSqlSink"
              }
            }
          },
          {
            "name": "usp_build_order_fact",
            "type": "SqlServerStoredProcedure",
            "dependsOn": [
              {
                "activity": "Copy_orders_raw",
                "dependencyConditions": [
                  "Succeeded"
                ]
              },
              {
                "activity": "Copy_customers_raw",
                "dependencyConditions": [
                  "Succeeded"
                ]
              }
            ],
            "typeProperties": {
              "storedProcedureName": "[dbo].[usp_build_order_fact]"
            }
          }
        ],
        "parameters": {
          "p_watermark": {
            "type": "string"
          },
          "p_env": {
            "type": "string",
            "defaultValue": "dev"
          }
        }
      }
    }
  ]
}