// Exports an Activity Log for the given subscription to Event Hub public override async Task <ActionResponse> ExecuteActionAsync(ActionRequest request) { string apiVersion = "2016-03-01"; string ehnamespace = request.DataStore.GetValue("ActivityLogNamespace"); string resourceGroup = request.DataStore.GetValue("SelectedResourceGroup"); string subscription = request.DataStore.GetJson("SelectedSubscription", "SubscriptionId"); string token = request.DataStore.GetJson("AzureToken", "access_token"); string body = $"{{\"id\":null,\"location\":null,\"name\":null,\"properties\":{{\"categories\":[\"Write\",\"Delete\",\"Action\"],\"storageAccountId\":null,\"locations\":[\"australiaeast\",\"australiasoutheast\",\"brazilsouth\",\"canadacentral\",\"canadaeast\",\"centralindia\",\"centralus\",\"eastasia\",\"eastus\",\"eastus2\",\"japaneast\",\"japanwest\",\"koreacentral\",\"koreasouth\",\"northcentralus\",\"northeurope\",\"southcentralus\",\"southindia\",\"southeastasia\",\"uksouth\",\"ukwest\",\"westcentralus\",\"westeurope\",\"westindia\",\"westus\",\"westus2\",\"global\"],\"retentionPolicy\":{{\"enabled\":false,\"days\":0}},\"serviceBusRuleId\":\"/subscriptions/{subscription}/resourceGroups/{resourceGroup}/providers/Microsoft.EventHub/namespaces/{ehnamespace}/authorizationrules/RootManageSharedAccessKey\"}},\"tags\":null}}"; string uri = $"https://management.azure.com/subscriptions/{subscription}/providers/microsoft.insights/logprofiles/default?api-version={apiVersion}"; AzureHttpClient ahc = new AzureHttpClient(token, subscription); bool isSuccess = await ahc.IsSuccess(HttpMethod.Put, uri, body); for (int i = 0; i < ATTEMPTS && !isSuccess; i++) { Thread.Sleep(WAIT); isSuccess = await ahc.IsSuccess(HttpMethod.Put, uri, body); } string logProfileError = string.Empty; if (!isSuccess) { logProfileError = await ahc.Test(HttpMethod.Put, uri); } return(isSuccess ? new ActionResponse(ActionStatus.Success) : new ActionResponse(ActionStatus.Failure, new ActionResponseExceptionDetail("ActivityLogsErrorExportingToEventHub", logProfileError))); }
public override async Task <ActionResponse> ExecuteActionAsync(ActionRequest request) { BpstAzure ba = new BpstAzure(request.DataStore); AzureHttpClient ahc = new AzureHttpClient(ba.TokenAzure); string nameStreamAnalyticsJob = request.DataStore.GetValue("nameStreamAnalyticsJob"); string url = $"https://management.azure.com/subscriptions/{ba.IdSubscription}/resourceGroups/{ba.NameResourceGroup}/providers/Microsoft.StreamAnalytics/streamingjobs/{nameStreamAnalyticsJob}/start?api-version=2015-10-01"; string error = await ahc.Test(HttpMethod.Post, url); return(error == null ? new ActionResponse(ActionStatus.Success) : new ActionResponse(ActionStatus.Failure, new ActionResponseExceptionDetail("StreamAnalyticsToggleFailure", error))); }
public override async Task <ActionResponse> ExecuteActionAsync(ActionRequest request) { string apiVersion = "2016-03-01"; string subscription = request.DataStore.GetJson("SelectedSubscription", "SubscriptionId"); string token = request.DataStore.GetJson("AzureToken", "access_token"); string uri = $"https://management.azure.com/subscriptions/{subscription}/providers/microsoft.insights/logprofiles/default?api-version={apiVersion}"; AzureHttpClient ahc = new AzureHttpClient(token, subscription); string logProfileError = await ahc.Test(HttpMethod.Get, uri); return(string.IsNullOrEmpty(logProfileError) ? new ActionResponse(ActionStatus.Success) : new ActionResponse(ActionStatus.Failure, new ActionResponseExceptionDetail("ActivityLogsInsufficientPermissions", logProfileError))); }
public override async Task <ActionResponse> ExecuteActionAsync(ActionRequest request) { BpstAzure ba = new BpstAzure(request.DataStore); AzureHttpClient ahc = new AzureHttpClient(ba.TokenAzure); string nameStreamAnalyticsJob = request.DataStore.GetValue("nameStreamAnalyticsJob"); string query = "SELECT CreatedDate,ServiceName,RequestId,IPAddress,Operation,OperationId,Api,ApiId,Product,ProductId,SubscriptionName,SubscriptionId,Length\r\nINTO [TemplatesSQLRequest]\r\nFROM [APIMEventHub] TIMESTAMP BY CreatedDate\r\nWHERE Type = 'Request'\r\n\r\nSELECT CreatedDate,ServiceName,RequestId,StatusCode,StatusReason,Length\r\nINTO [TemplatesSQLResponse]\r\nFROM [APIMEventHub] TIMESTAMP BY CreatedDate\r\nWHERE Type = 'Response'\r\n\r\nSELECT CreatedDate,ServiceName,RequestId,Source,Reason,Message \r\nINTO [TemplatesSQLError]\r\nFROM [APIMEventHub] TIMESTAMP BY CreatedDate\r\nWHERE Type = 'Error'"; string url = $"https://management.azure.com/subscriptions/{ba.IdSubscription}/resourceGroups/{ba.NameResourceGroup}/providers/Microsoft.StreamAnalytics/streamingjobs/{nameStreamAnalyticsJob}/transformations/Transformation?api-version=2015-10-01"; StreamAnalyticsQueryPropertiesWrapper body = new StreamAnalyticsQueryPropertiesWrapper(query); string error = await ahc.Test(HttpMethod.Put, url, JsonUtility.Serialize(body)); return(error == null ? new ActionResponse(ActionStatus.Success) : new ActionResponse(ActionStatus.Failure, new ActionResponseExceptionDetail("StreamAnalyticsUpdateQueryFailure", error))); }
public override async Task <ActionResponse> ExecuteActionAsync(ActionRequest request) { BpstAzure ba = new BpstAzure(request.DataStore); string nameNamespace = request.DataStore.GetValue("nameNamespace"); ActivityLogProfile logProfile = new ActivityLogProfile(ba.IdSubscription, ba.NameResourceGroup, nameNamespace); string url = $"https://management.azure.com/subscriptions/{ba.IdSubscription}/providers/microsoft.insights/logprofiles/default?api-version=2016-03-01"; AzureHttpClient ahc = new AzureHttpClient(ba.TokenAzure, ba.IdSubscription); string logProfileError = await ahc.Test(HttpMethod.Put, url, JsonUtility.Serialize(logProfile)); request.DataStore.AddToDataStore("nameEventHub", INSIGHTS_OPERATIONAL_LOGS, DataStoreType.Private); return(string.IsNullOrEmpty(logProfileError) ? new ActionResponse(ActionStatus.Success) : new ActionResponse(ActionStatus.Failure, new ActionResponseExceptionDetail("ActivityLogsErrorExportingToEventHub", logProfileError))); }
public override async Task <ActionResponse> ExecuteActionAsync(ActionRequest request) { BpstAzure ba = new BpstAzure(request.DataStore); BpstSql sql = new BpstSql(request.DataStore); AzureHttpClient ahc = new AzureHttpClient(ba.TokenAzure); StreamAnalyticsOutputSql parameters = JsonUtility.Deserialize <StreamAnalyticsOutputSql>(request.DataStore.GetJson("streamAnalyticsOutputSql")); string nameStreamAnalyticsJob = request.DataStore.GetValue("nameStreamAnalyticsJob"); string aliasOutput = parameters.Name; string url = $"https://management.azure.com/subscriptions/{ba.IdSubscription}/resourceGroups/{ba.NameResourceGroup}/providers/Microsoft.StreamAnalytics/streamingjobs/{nameStreamAnalyticsJob}/outputs/{aliasOutput}?api-version=2015-10-01"; StreamAnalyticsOutputSqlPropertiesWrapper body = new StreamAnalyticsOutputSqlPropertiesWrapper(sql, parameters.Table); string error = await ahc.Test(HttpMethod.Put, url, JsonUtility.Serialize(body)); return(error == null ? new ActionResponse(ActionStatus.Success) : new ActionResponse(ActionStatus.Failure, new ActionResponseExceptionDetail("StreamAnalyticsSetOutputFailure", error))); }
public override async Task <ActionResponse> ExecuteActionAsync(ActionRequest request) { BpstAzure ba = new BpstAzure(request.DataStore); AzureHttpClient ahc = new AzureHttpClient(ba.TokenAzure); string aliasInput = request.DataStore.GetValue("nameStreamAnalyticsInputEventHub"); string keyPrimary = request.DataStore.GetValue("EventHubPrimaryKey"); string nameEventHub = request.DataStore.GetValue("nameEventHub"); string nameNamespace = request.DataStore.GetValue("nameNamespace"); string nameStreamAnalyticsJob = request.DataStore.GetValue("nameStreamAnalyticsJob"); string url = $"https://management.azure.com/subscriptions/{ba.IdSubscription}/resourceGroups/{ba.NameResourceGroup}/providers/Microsoft.StreamAnalytics/streamingjobs/{nameStreamAnalyticsJob}/inputs/{aliasInput}?api-version=2015-10-01"; StreamAnalyticsInputPropertiesWrapper body = new StreamAnalyticsInputPropertiesWrapper(nameEventHub, nameNamespace, keyPrimary); string error = await ahc.Test(HttpMethod.Put, url, JsonUtility.Serialize(body)); return(error == null ? new ActionResponse(ActionStatus.Success) : new ActionResponse(ActionStatus.Failure, new ActionResponseExceptionDetail("StreamAnalyticsSetInputFailure", error))); }
public override async Task <ActionResponse> ExecuteActionAsync(ActionRequest request) { BpstAzure ba = new BpstAzure(request.DataStore); AzureHttpClient ahc = new AzureHttpClient(ba.TokenAzure); string idApimLogger = request.DataStore.GetValue("IdApimLogger"); string idApimService = request.DataStore.GetValue("IdApimService"); string policyContent = File.ReadAllText(Path.Combine(request.Info.App.AppFilePath, "Service/Policy.txt")); policyContent = policyContent.Replace("$(idLogger)", idApimLogger); ApiManagementPolicy policy = new ApiManagementPolicy(idApimService, policyContent); string url = $"https://management.azure.com{idApimService}/policies/policy?api-version=2017-03-01"; string error = await ahc.Test(HttpMethod.Put, url, JsonUtility.Serialize(policy)); return(error == null ? new ActionResponse(ActionStatus.Success) : new ActionResponse(ActionStatus.Failure, new ActionResponseExceptionDetail("ApiManagementFailedToUpdatePolicy", error))); }
public override async Task <ActionResponse> ExecuteActionAsync(ActionRequest request) { BpstAzure ba = new BpstAzure(request.DataStore); AzureHttpClient ahc = new AzureHttpClient(ba.TokenAzure); string connectionString = request.DataStore.GetValue("EventHubPrimaryConnectionString"); string idApimLogger = RandomGenerator.GetRandomHexadecimal("bpst-apim-l-"); string idApimService = request.DataStore.GetValue("IdApimService"); string nameEventHub = request.DataStore.GetValue("nameEventHub"); request.DataStore.AddToDataStore("IdApimLogger", idApimLogger, DataStoreType.Private); ApiManagementLogger logger = new ApiManagementLogger(idApimService, idApimLogger, nameEventHub, connectionString); string url = $"https://management.azure.com{idApimService}/loggers/{idApimLogger}?api-version=2017-03-01"; string error = await ahc.Test(HttpMethod.Put, url, JsonUtility.Serialize(logger)); return(error == null ? new ActionResponse(ActionStatus.Success) : new ActionResponse(ActionStatus.Failure, new ActionResponseExceptionDetail("ApiManagementFailedToCreateLogger", error))); }