Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Management.Automation;
- using RestSharp;
- namespace Aerohive
- {
- [Cmdlet(VerbsCommon.New, "Token")]
- [OutputType(typeof(Token))]
- public class NewTokenCmdlet : PSCmdlet
- {
- [Parameter(
- Mandatory = true,
- ValueFromPipelineByPropertyName = true,
- HelpMessage = "The api key, as provided by the IDManager web interface.")]
- public string apiKey { get; set; }
- [Parameter(
- Mandatory = true,
- ValueFromPipelineByPropertyName = true,
- HelpMessage = "The username you use to login on the web interace of the IDManager")]
- public string username { get; set; }
- [Parameter(
- Mandatory = true,
- ValueFromPipelineByPropertyName = true,
- HelpMessage = "The password you use to login on the web interface of the IDManager")]
- public string password { get; set; }
- protected override void BeginProcessing()
- {
- base.BeginProcessing();
- }
- protected override void ProcessRecord()
- {
- WriteVerbose("Authenticating ...");
- var client = new RestClient();
- client.BaseUrl = new Uri("very.long.url/to/authenticate/against");
- var request = new RestRequest("authenticate", Method.POST);
- request.AddHeader("content-type", "application/json");
- request.AddJsonBody(new
- {
- token = apiKey,
- userName = username,
- password = password
- });
- WriteVerbose("response");
- IRestResponse<Token> response = client.Execute<Token>(request);
- WriteObject(response.Data);
- }
- protected override void EndProcessing()
- {
- base.EndProcessing();
- }
- }
- public class Token
- {
- public string token { get; set; }
- public int errorCode { get; set; }
- public string errorMessage { get; set; }
- }
- }
- protected override void EndProcessing()
- {
- base.EndProcessing();
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement