diff --git a/templates/execute-query-send-result.json b/templates/execute-query-send-result.json new file mode 100644 index 0000000..5a12eab --- /dev/null +++ b/templates/execute-query-send-result.json @@ -0,0 +1,303 @@ +{ + "id": "Send_query_result_via_e-mail", + "title": "Send query result via e-mail", + "description": "Execute a query and send email on schedule", + "iconType": "ScheduledTask", + "data": { + "definition": { + "$schema": "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#", + "actions": { + "ExecuteQuery": { + "inputs": { + "body": { + "query": "@parameters('queryString')" + }, + "host": { + "connection": { + "name": "@parameters('$connections')['sql']['connectionId']" + } + }, + "method": "post", + "path": "/v2/datasets/@{encodeURIComponent(encodeURIComponent(parameters('ServerID')))},@{encodeURIComponent(encodeURIComponent(parameters('DatabaseID')))}/query/sql" + }, + "runAfter": {}, + "type": "ApiConnection" + }, + "Send_an_email_(V2)": { + "inputs": { + "body": { + "Body": "

@{body('ExecuteQuery')?['resultsets']}
\n
\n
\n
\n
\n
\n

", + "Subject": "Query results from @{parameters('DatabaseID')}", + "To": "@parameters('Email To')" + }, + "host": { + "connection": { + "name": "@parameters('$connections')['office365']['connectionId']" + } + }, + "method": "post", + "path": "/v2/Mail" + }, + "runAfter": { + "ExecuteQuery": [ + "Succeeded" + ] + }, + "type": "ApiConnection" + } + }, + "contentVersion": "1.0.0.0", + "outputs": {}, + "parameters": { + "$connections": { + "defaultValue": {}, + "type": "Object" + }, + "DatabaseID": { + "type": "String" + }, + "Email To": { + "type": "String", + "defaultValue": "email@example.com", + "metadata": { + "displayName": "Email To", + "required": false, + "description": "Send the query results to this email" + } + }, + "Frequency": { + "type": "String", + "allowedValues": [ + "Month", + "Week", + "Day", + "Hour", + "Minute", + "Seconds" + ], + "metadata": { + "displayName": "Frequency", + "required": true, + "description": "How often should schedule run. i.e. Weekly" + } + }, + "Interval": { + "type": "Int", + "metadata": { + "displayName": "Interval", + "format": "number", + "required": true, + "description": "Time interval for recurrence" + } + }, + "ResourceGroup": { + "type": "String", + "metadata": { + "isLinkedResource": true, + "sourceParameter": "resourceGroup" + } + }, + "ScheduleTime": { + "type": "String", + "defaultValue": "start time", + "metadata": { + "displayName": "Time", + "format": "timeFormat", + "required": false, + "description": "Runs the query at this time" + } + }, + "ServerID": { + "type": "String" + }, + "SubscriptionID": { + "type": "String", + "metadata": { + "isLinkedResource": true, + "sourceParameter": "subscriptionId" + } + }, + "Timezone": { + "type": "String", + "allowedValues": [ + "Dateline Standard Time", + "UTC-11", + "Aleutian Standard Time", + "Hawaiian Standard Time", + "Marquesas Standard Time", + "Alaskan Standard Time", + "UTC-09", + "Pacific Standard Time (Mexico)", + "UTC-08", + "Pacific Standard Time", + "US Mountain Standard Time", + "Mountain Standard Time (Mexico)", + "Mountain Standard Time", + "Central America Standard Time", + "Central Standard Time", + "Easter Island Standard Time", + "Central Standard Time (Mexico)", + "Canada Central Standard Time", + "SA Pacific Standard Time", + "Eastern Standard Time (Mexico)", + "Eastern Standard Time", + "Haiti Standard Time", + "Cuba Standard Time", + "US Eastern Standard Time", + "Paraguay Standard Time", + "Atlantic Standard Time", + "Venezuela Standard Time", + "Central Brazilian Standard Time", + "SA Western Standard Time", + "Pacific SA Standard Time", + "Turks And Caicos Standard Time", + "Newfoundland Standard Time", + "Tocantins Standard Time", + "E. South America Standard Time", + "SA Eastern Standard Time", + "Argentina Standard Time", + "Greenland Standard Time", + "Montevideo Standard Time", + "Saint Pierre Standard Time", + "Bahia Standard Time", + "UTC-02", + "Mid-Atlantic Standard Time", + "Azores Standard Time", + "Cape Verde Standard Time", + "UTC", + "Morocco Standard Time", + "GMT Standard Time", + "Greenwich Standard Time", + "W. Europe Standard Time", + "Central Europe Standard Time", + "Romance Standard Time", + "Central European Standard Time", + "W. Central Africa Standard Time", + "Namibia Standard Time", + "Jordan Standard Time", + "GTB Standard Time", + "Middle East Standard Time", + "Egypt Standard Time", + "E. Europe Standard Time", + "Syria Standard Time", + "West Bank Standard Time", + "South Africa Standard Time", + "FLE Standard Time", + "Turkey Standard Time", + "Israel Standard Time", + "Kaliningrad Standard Time", + "Libya Standard Time", + "Arabic Standard Time", + "Arab Standard Time", + "Belarus Standard Time", + "Russian Standard Time", + "E. Africa Standard Time", + "Iran Standard Time", + "Arabian Standard Time", + "Astrakhan Standard Time", + "Azerbaijan Standard Time", + "Russia Time Zone 3", + "Mauritius Standard Time", + "Georgian Standard Time", + "Caucasus Standard Time", + "Afghanistan Standard Time", + "West Asia Standard Time", + "Ekaterinburg Standard Time", + "Pakistan Standard Time", + "India Standard Time", + "Sri Lanka Standard Time", + "Nepal Standard Time", + "Central Asia Standard Time", + "Bangladesh Standard Time", + "N. Central Asia Standard Time", + "Myanmar Standard Time", + "SE Asia Standard Time", + "Altai Standard Time", + "W. Mongolia Standard Time", + "North Asia Standard Time", + "Tomsk Standard Time", + "China Standard Time", + "North Asia East Standard Time", + "Singapore Standard Time", + "W. Australia Standard Time", + "Taipei Standard Time", + "Ulaanbaatar Standard Time", + "North Korea Standard Time", + "Aus Central W. Standard Time", + "Transbaikal Standard Time", + "Tokyo Standard Time", + "Korea Standard Time", + "Yakutsk Standard Time", + "Cen. Australia Standard Time", + "AUS Central Standard Time", + "E. Australia Standard Time", + "AUS Eastern Standard Time", + "West Pacific Standard Time", + "Tasmania Standard Time", + "Vladivostok Standard Time", + "Lord Howe Standard Time", + "Bougainville Standard Time", + "Russia Time Zone 10", + "Magadan Standard Time", + "Norfolk Standard Time", + "Sakhalin Standard Time", + "Central Pacific Standard Time", + "Russia Time Zone 11", + "New Zealand Standard Time", + "UTC+12", + "Fiji Standard Time", + "Kamchatka Standard Time", + "Chatham Islands Standard Time", + "Tonga Standard Time", + "Samoa Standard Time", + "Line Islands Standard Time" + ], + "metadata": { + "displayName": "Timezone", + "required": true, + "description": "Select time zone for task schedule" + } + }, + "queryString": { + "type": "String", + "defaultValue": "SELECT * FROM table", + "metadata": { + "displayName": "Query Text", + "required": false, + "description": "Query to be executed" + } + } + }, + "triggers": { + "Recurrence": { + "recurrence": { + "frequency": "@parameters('Frequency')", + "interval": "@parameters('Interval')", + "startTime": "@formatDateTime(parameters('ScheduleTime'), 'yyyy-MM-ddTHH:mm:ss')", + "timeZone": "@parameters('TimeZone')" + }, + "type": "Recurrence" + } + } + }, + "parameters": { + "$connections": { + "value": { + "office365": { + "connectionId": "", + "connectionName": "", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/westus/managedApis/office365" + }, + "sql": { + "connectionId": "", + "connectionName": "", + "id": "/subscriptions/00000000-0000-0000-0000-000000000000/providers/Microsoft.Web/locations/westus/managedApis/sql" + } + } + } + } + }, + "supportedResources": [ + "Microsoft.Sql/servers/databases" + ] +} diff --git a/templates/manifest.json b/templates/manifest.json index f0af446..7368133 100644 --- a/templates/manifest.json +++ b/templates/manifest.json @@ -1,4 +1,5 @@ [ + "execute-query-send-result.json", "send-monthly-cost.json", "notify-when-resource-deleted.json", "start-vm-new.json",