public override async Task <ActionResponse> ExecuteActionAsync(ActionRequest request) { BpstAzure ba = new BpstAzure(request.DataStore); AzureHttpClient ahc = new AzureHttpClient(ba.TokenAzure); string url = $"https://management.azure.com/subscriptions/{ba.IdSubscription}/providers/Microsoft.ApiManagement/service?api-version=2016-10-10"; List <ApiManagementService> apiManagementServices = await ahc.RequestValue <List <ApiManagementService> >(HttpMethod.Get, url); return(apiManagementServices.IsNullOrEmpty() ? new ActionResponse(ActionStatus.Failure, new ActionResponseExceptionDetail("ApiManagementErrorNoServicesFound")) : new ActionResponse(ActionStatus.Success, JsonUtility.Serialize(apiManagementServices))); }
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) { 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); int attemptsInsights = request.DataStore.GetCount("attemptsInsights"); string nameNamespace = request.DataStore.GetValue("nameNamespace"); if (attemptsInsights < RETRIES) { attemptsInsights++; request.DataStore.AddToDataStore("attemptsInsights", attemptsInsights.ToString(), DataStoreType.Public); string url = $"https://management.azure.com/subscriptions/{ba.IdSubscription}/resourceGroups/{ba.NameResourceGroup}/providers/Microsoft.EventHub/namespaces/{nameNamespace}/eventhubs?api-version=2015-08-01"; string body = $"\"parameters\": {{\"namespaceName\":\"{nameNamespace}\",\"resourceGroupName\":\"{ba.NameResourceGroup}\",\"api-version\":\"2015-08-01\", \"subscriptionId\": \"{ba.IdSubscription}\"}}"; AzureHttpClient ahc = new AzureHttpClient(ba.TokenAzure, ba.IdSubscription); List <EventHub> hubs = await ahc.RequestValue <List <EventHub> >(HttpMethod.Get, url, body); if (!hubs.IsNullOrEmpty()) { foreach (EventHub hub in hubs) { if (hub.Name.EqualsIgnoreCase(INSIGHTS)) { return(new ActionResponse(ActionStatus.Success)); } } } Thread.Sleep(SLEEP); return(new ActionResponse(ActionStatus.InProgress)); } else { return(new ActionResponse(ActionStatus.Failure, new ActionResponseExceptionDetail("ActivityLogsVerifyInsightsTimeout"))); } }
public override async Task <ActionResponse> ExecuteActionAsync(ActionRequest request) { BpstAzure ba = new BpstAzure(request.DataStore); AzureHttpClient ahc = new AzureHttpClient(ba.TokenAzure); string nameNamespace = request.DataStore.GetValue("nameNamespace"); string url = $"https://management.azure.com/subscriptions/{ba.IdSubscription}/resourceGroups/{ba.NameResourceGroup}/providers/Microsoft.EventHub/namespaces/{nameNamespace}/AuthorizationRules/RootManageSharedAccessKey/listkeys?api-version=2014-09-01"; EventHubKeys eventHubKeys = await ahc.Request <EventHubKeys>(HttpMethod.Post, url); if (eventHubKeys != null) { request.DataStore.AddToDataStore("EventHubPrimaryConnectionString", eventHubKeys.PrimaryConnectionString, DataStoreType.Private); request.DataStore.AddToDataStore("EventHubPrimaryKey", eventHubKeys.PrimaryKey, DataStoreType.Private); } return(eventHubKeys == null ? new ActionResponse(ActionStatus.Failure, new ActionResponseExceptionDetail("EventHubFailedToQueryKeys")) : new ActionResponse(ActionStatus.Success)); }
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))); }