public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems) { AmazonGlueConfig config = new AmazonGlueConfig(); config.RegionEndpoint = region; ConfigureClient(config); AmazonGlueClient client = new AmazonGlueClient(creds, config); ListWorkflowsResponse resp = new ListWorkflowsResponse(); do { ListWorkflowsRequest req = new ListWorkflowsRequest { NextToken = resp.NextToken , MaxResults = maxItems }; resp = client.ListWorkflows(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.Workflows) { AddObject(obj); } }while (!string.IsNullOrEmpty(resp.NextToken)); }
/// <summary> /// Unmarshaller the response from the service to the response class. /// </summary> /// <param name="context"></param> /// <returns></returns> public override AmazonWebServiceResponse Unmarshall(JsonUnmarshallerContext context) { ListWorkflowsResponse response = new ListWorkflowsResponse(); context.Read(); int targetDepth = context.CurrentDepth; while (context.ReadAtDepth(targetDepth)) { if (context.TestExpression("NextToken", targetDepth)) { var unmarshaller = StringUnmarshaller.Instance; response.NextToken = unmarshaller.Unmarshall(context); continue; } if (context.TestExpression("Workflows", targetDepth)) { var unmarshaller = new ListUnmarshaller <string, StringUnmarshaller>(StringUnmarshaller.Instance); response.Workflows = unmarshaller.Unmarshall(context); continue; } } return(response); }
public async Task shouldReceiveResponseAsExpected() { // given var expectedResponse = new ListWorkflowsResponse(); expectedResponse.Workflows.Add(new WorkflowMetadata { BpmnProcessId = "process", ResourceName = "file2.bpmn", Version = 1, WorkflowKey = 2 }); expectedResponse.Workflows.Add(new WorkflowMetadata { BpmnProcessId = "process2", ResourceName = "file.bpmn", Version = 1, WorkflowKey = 3 }); TestService.AddRequestHandler(typeof(ListWorkflowsRequest), request => expectedResponse); // when var response = await ZeebeClient.NewListWorkflowRequest().BpmnProcessId("process").Send(); // then Assert.AreEqual(2, response.WorkflowList.Count); var workflowMetadata = response.WorkflowList[0]; Assert.AreEqual("process", workflowMetadata.BpmnProcessId); Assert.AreEqual(1, workflowMetadata.Version); Assert.AreEqual("file2.bpmn", workflowMetadata.ResourceName); Assert.AreEqual(2, workflowMetadata.WorkflowKey); var workflowMetadata2 = response.WorkflowList[1]; Assert.AreEqual("process2", workflowMetadata2.BpmnProcessId); Assert.AreEqual(1, workflowMetadata2.Version); Assert.AreEqual("file.bpmn", workflowMetadata2.ResourceName); Assert.AreEqual(3, workflowMetadata2.WorkflowKey); }
public WorkflowListResponse(ListWorkflowsResponse response) { WorkflowList = response.Workflows.Select(metadata => new WorkflowMetadata(metadata)).Cast <IWorkflowMetadata>().ToList(); }