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);
        }
Example #4
0
        internal virtual GetDifferencesResponse GetDifferences(GetDifferencesRequest request)
        {
            var marshaller   = new GetDifferencesRequestMarshaller();
            var unmarshaller = GetDifferencesResponseUnmarshaller.Instance;

            return(Invoke <GetDifferencesRequest, GetDifferencesResponse>(request, marshaller, unmarshaller));
        }
Example #5
0
        /// <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));
        }