Advertisement
Guest User

Untitled

a guest
Aug 23rd, 2016
83
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.07 KB | None | 0 0
  1. using System;
  2. using System.Management.Automation;
  3. using RestSharp;
  4.  
  5. namespace Aerohive
  6. {
  7. [Cmdlet(VerbsCommon.New, "Token")]
  8. [OutputType(typeof(Token))]
  9. public class NewTokenCmdlet : PSCmdlet
  10. {
  11. [Parameter(
  12. Mandatory = true,
  13. ValueFromPipelineByPropertyName = true,
  14. HelpMessage = "The api key, as provided by the IDManager web interface.")]
  15. public string apiKey { get; set; }
  16.  
  17. [Parameter(
  18. Mandatory = true,
  19. ValueFromPipelineByPropertyName = true,
  20. HelpMessage = "The username you use to login on the web interace of the IDManager")]
  21. public string username { get; set; }
  22.  
  23. [Parameter(
  24. Mandatory = true,
  25. ValueFromPipelineByPropertyName = true,
  26. HelpMessage = "The password you use to login on the web interface of the IDManager")]
  27. public string password { get; set; }
  28.  
  29. protected override void BeginProcessing()
  30. {
  31. base.BeginProcessing();
  32. }
  33.  
  34. protected override void ProcessRecord()
  35. {
  36. WriteVerbose("Authenticating ...");
  37.  
  38. var client = new RestClient();
  39. client.BaseUrl = new Uri("very.long.url/to/authenticate/against");
  40.  
  41. var request = new RestRequest("authenticate", Method.POST);
  42. request.AddHeader("content-type", "application/json");
  43. request.AddJsonBody(new
  44. {
  45. token = apiKey,
  46. userName = username,
  47. password = password
  48. });
  49.  
  50. WriteVerbose("response");
  51. IRestResponse<Token> response = client.Execute<Token>(request);
  52. WriteObject(response.Data);
  53. }
  54.  
  55. protected override void EndProcessing()
  56. {
  57. base.EndProcessing();
  58. }
  59. }
  60. public class Token
  61. {
  62. public string token { get; set; }
  63. public int errorCode { get; set; }
  64. public string errorMessage { get; set; }
  65. }
  66. }
  67.  
  68. protected override void EndProcessing()
  69. {
  70. base.EndProcessing();
  71. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement