public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems) { AmazonCodeCommitConfig config = new AmazonCodeCommitConfig(); config.RegionEndpoint = region; ConfigureClient(config); AmazonCodeCommitClient client = new AmazonCodeCommitClient(creds, config); GetDifferencesResponse resp = new GetDifferencesResponse(); do { GetDifferencesRequest req = new GetDifferencesRequest { NextToken = resp.NextToken , MaxResults = maxItems }; resp = client.GetDifferences(req); CheckError(resp.HttpStatusCode, "200"); foreach (var obj in resp.Differences) { AddObject(obj); } }while (!string.IsNullOrEmpty(resp.NextToken)); }
/// <summary> /// get file differences in a particular commit /// </summary> /// <param name="codeCommit"></param> /// <param name="repositoryName"></param> /// <param name="afterCommitSpecifier"></param> /// <returns></returns> private List <Difference> GetCommitDifferences(IAmazonCodeCommit codeCommit, string repositoryName, string afterCommitSpecifier, string beforeCommitSpecifier, int maxResults) { List <Difference> returnValue = new List <Difference>(); GetDifferencesRequest diffRequest; GetDifferencesResponse diffResponse; string nextToken = String.Empty; do { diffRequest = new GetDifferencesRequest() { RepositoryName = repositoryName, AfterCommitSpecifier = afterCommitSpecifier, BeforeCommitSpecifier = beforeCommitSpecifier, MaxResults = maxResults }; if (!nextToken.IsNullOrWhiteSpace()) { diffRequest.NextToken = nextToken; } diffResponse = codeCommit.GetDifferencesAsync(diffRequest).GetAwaiter().GetResult(); returnValue.AddRange(diffResponse.Differences); nextToken = diffResponse.NextToken; } while (!String.IsNullOrEmpty(nextToken)); return(returnValue); }
public static List <Difference> GetDifferences(AmazonCodeCommitClient codeCommit, string repositoryName, string afterCommitSpecifier) { var result = new List <Difference>(); GetDifferencesRequest request; GetDifferencesResponse response; string nextToken = String.Empty; int count = 0; do { count++; Console.WriteLine($"Count: {count}; RepositoryName: {repositoryName}; AfterCommitSpecifier: {afterCommitSpecifier}; Next: {nextToken}"); request = new GetDifferencesRequest() { RepositoryName = repositoryName, AfterCommitSpecifier = afterCommitSpecifier }; if (!String.IsNullOrWhiteSpace(nextToken)) { request.NextToken = nextToken; } response = codeCommit.GetDifferencesAsync(request).GetAwaiter().GetResult(); result.AddRange(response.Differences); nextToken = response.NextToken; } while (!String.IsNullOrEmpty(nextToken)); return(result); }
internal virtual GetDifferencesResponse GetDifferences(GetDifferencesRequest request) { var marshaller = new GetDifferencesRequestMarshaller(); var unmarshaller = GetDifferencesResponseUnmarshaller.Instance; return(Invoke <GetDifferencesRequest, GetDifferencesResponse>(request, marshaller, unmarshaller)); }
/// <summary> /// Initiates the asynchronous execution of the GetDifferences operation. /// </summary> /// /// <param name="request">Container for the necessary parameters to execute the GetDifferences operation.</param> /// <param name="cancellationToken"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> /// <returns>The task object representing the asynchronous operation.</returns> /// <seealso href="http://docs.aws.amazon.com/goto/WebAPI/codecommit-2015-04-13/GetDifferences">REST API Reference for GetDifferences Operation</seealso> public virtual Task <GetDifferencesResponse> GetDifferencesAsync(GetDifferencesRequest request, System.Threading.CancellationToken cancellationToken = default(CancellationToken)) { var marshaller = new GetDifferencesRequestMarshaller(); var unmarshaller = GetDifferencesResponseUnmarshaller.Instance; return(InvokeAsync <GetDifferencesRequest, GetDifferencesResponse>(request, marshaller, unmarshaller, cancellationToken)); }