private string CreateAutoBookRequest(IReadOnlyCollection <AutoBookInstanceConfiguration> autoBookInstanceConfigurations) { //AutoDistributed - autoBookRequest needs to be sent with the new API autodistributed model // "Id": "imag-dev07-1", var respondTo = "http://" + _configuration["Environment:Id"] + "-api.xggamplan.com/autobooks/"; AutoBookRequestModel autoBookRequest = new AutoBookRequestModel { respondTo = respondTo, runId = RunId.ToString(), scenarioId = ScenarioId.ToString(), instanceType = autoBookInstanceConfigurations.First().InstanceType, //check storageSizeGB = autoBookInstanceConfigurations.First().StorageSizeGb, //check version = _autoBooks.Settings.ApplicationVersion, binariesVersion = _autoBooks.Settings.BinariesVersion, maxInstances = _autoBooks.Settings.MaxInstances, mock = "false" //set to true in dev stage, not needed in prod //Mock = false in prod, will actually call the nec. lambda: // otherwise respond with : will have invoked: // bash aws/request-invoke.sh http://imag-dev07-1-api.xggamplan.com/autobooks/ t3.medium 50 v4.4.0 xg-gameplan-autobook-binaries.2.40.012.120 3 }; _auditEventRepository.Insert(AuditEventFactory.CreateAuditEventForInformationMessage(0, 0, $"AutoDistributed - AutoBookRequest object: " + $"{autoBookRequest.respondTo}, {autoBookRequest.runId}, {autoBookRequest.scenarioId}, {autoBookRequest.instanceType}, " + $"{autoBookRequest.storageSizeGB}, {autoBookRequest.version}, {autoBookRequest.binariesVersion}, " + $"{autoBookRequest.maxInstances}, {autoBookRequest.mock}")); return(_autoBooks.CreateAutoBookRequestRun(autoBookRequest)); }
/// <summary> /// Requests an autobookRequest model /// </summary> /// <param name="autoBookRequest"></param> public string AutoBookRequestRun(AutoBookRequestModel autoBookRequest) { string url = $"{_apibaseUrl}/run"; byte[] contentBody = SerializeContentBody(autoBookRequest); int len = 0; len = contentBody.Length; _auditEventRepository.Insert(AuditEventFactory.CreateAuditEventForInformationMessage(0, 0, $"Creating WebRequest for {nameof(AutoBookRequestRun)}, content body len after serialization: {len.ToString()}, url: {url}, autoBookRequest.mock: {autoBookRequest.mock}")); try { var webRequest = CreateHttpWebRequest(url, "POST", GetAuthHeaders(AuthType, _accessToken), ContentTypeJSON, contentBody); using var webResponse = (HttpWebResponse)webRequest.GetResponse(); ThrowExceptionIfNotSuccess(webResponse, new List <HttpStatusCode>() { HttpStatusCode.OK }); using var reader = new StreamReader(webResponse.GetResponseStream()); { var data = reader.ReadToEnd(); _auditEventRepository.Insert(AuditEventFactory.CreateAuditEventForInformationMessage(0, 0, $"Created WebRequest for {nameof(AutoBookRequestRun)}, url: {url}, data: {data})")); return(data); } } catch (WebException ex) { _auditEventRepository.Insert(AuditEventFactory.CreateAuditEventForInformationMessage(0, 0, $"Error thrown Creating WebRequest for {nameof(AutoBookRequestRun)}, url: {url}, ex: {ex})")); throw ex; } }
public string AutoBookRequestRun(AutoBookRequestModel autoBookRequest) { return(string.Empty); }