/// <summary>
 /// Sends a POST to '/api/externalsystemlink/{linkId}/copy'
 /// </summary>
 /// <param name="linkId">a path parameter (no description)</param>
 /// <param name="model">a body parameter (no description)</param>
 /// <param name="expand">a query parameter (Allows the specifying of eager-loading of related data which is returned in-line within the results of the request.)</param>
 /// <returns></returns>
 public static RestOperation CopyExternalSystemLink(string linkId, CopyExternalSystemLink model, string expand = null)
 {
     return new RestOperation("POST", "api/externalsystemlink/" + linkId + "/copy")
         {
             Content = model,                    QueryParams =
                 {
                      {"$expand", expand},
                 }
         };
 }
 public CopyExternalSystemLink Clone(bool includeLocalProperties)
 {
     var c = new CopyExternalSystemLink
             {
                 CopyFromLinkId = CopyFromLinkId,
                 Destination = Destination,
                 Name = Name,
                 Source = Source,
             };
     CopyExtraPropertiesToClone(c, includeLocalProperties);
     return c;
 }
partial         void CopyExtraPropertiesToClone(CopyExternalSystemLink clone, bool includeLocalProperties);
		/// <summary>
        /// Sends a POST to '/api/externalsystemlink/{linkId}/copy'  (asynchronous)
        /// </summary>
        /// <param name="linkId">a path parameter (no description)</param>
        /// <param name="model">a body parameter (no description)</param>
        /// <param name="expand">a query parameter (Allows the specifying of eager-loading of related data which is returned in-line within the results of the request.)</param>
        /// <returns></returns>
        public virtual async Task<ExternalSystemLink> CopyExternalSystemLinkAsync(string linkId, CopyExternalSystemLink model, string expand = null)
        {
            var operation = Operations.CopyExternalSystemLink(linkId, model, expand);
			var response = await _client.SendAsync(operation.BuildRequest(_client));
			EnsureSuccess(response);
			var result = await response.Content.ReadAsAsync<ExternalSystemLink>();
			return result;
						
		}