/// <summary> /// Enable private networking on a droplet /// </summary> public Task <Action> EnablePrivateNetworking(int dropletId) { var parameters = new List <Parameter> { new Parameter("dropletId", dropletId, ParameterType.UrlSegment) }; var body = new Models.Requests.DropletAction { Type = "enable_private_networking" }; return(_connection.ExecuteRequest <Action>("droplets/{dropletId}/actions", parameters, body, "action", Method.POST)); }
/// <summary> /// Turn on a droplet /// </summary> public Task <Action> PowerOn(int dropletId) { var parameters = new List <Parameter> { new Parameter("dropletId", dropletId, ParameterType.UrlSegment) }; var body = new Models.Requests.DropletAction { Type = "power_on" }; return(_connection.ExecuteRequest <Action>("droplets/{dropletId}/actions", parameters, body, "action", Method.POST)); }
/// <summary> /// Disable backups on a droplet /// </summary> public Task <Action> DisableBackups(long dropletId) { var parameters = new List <Parameter> { new Parameter("dropletId", dropletId, ParameterType.UrlSegment) }; var body = new Models.Requests.DropletAction { Type = "disable_backups" }; return(_connection.ExecuteRequest <Action>("droplets/{dropletId}/actions", parameters, body, "action", Method.POST)); }
/// <summary> /// Some actions can be performed in bulk on tagged Droplets. /// The list of supported action types are: /// * power_cycle /// * power_on /// * power_off /// * shutdown /// * enable_private_networking /// * enable_ipv6 /// * enable_backups /// * disable_backups /// * snapshot /// </summary> public Task <IReadOnlyList <Action> > ActionOnTag(string tag, string actionType) { var parameters = new List <Parameter> { new Parameter("tag_name", tag, ParameterType.QueryString) }; var body = new Models.Requests.DropletAction { Type = actionType }; return(_connection.ExecuteRequest <List <Action> >("droplets/actions", parameters, body, "actions", Method.POST) .ToReadOnlyListAsync()); }
/// <summary> /// Create a snapshot of a droplet /// </summary> public Task <Action> Snapshot(int dropletId, string name) { var parameters = new List <Parameter> { new Parameter("dropletId", dropletId, ParameterType.UrlSegment) }; var body = new Models.Requests.DropletAction { Type = "snapshot", Name = name }; return(_connection.ExecuteRequest <Action>("droplets/{dropletId}/actions", parameters, body, "action", Method.POST)); }
/// <summary> /// Chane the kernel of a droplet /// </summary> public Task <Action> ChangeKernel(int dropletId, int kernelId) { var parameters = new List <Parameter> { new Parameter("dropletId", dropletId, ParameterType.UrlSegment) }; var body = new Models.Requests.DropletAction { Type = "change_kernel", KernelId = kernelId }; return(_connection.ExecuteRequest <Action>("droplets/{dropletId}/actions", parameters, body, "action", Method.POST)); }
/// <summary> /// Rebuild a droplet /// </summary> public Task <Action> Rebuild(int dropletId, object imageIdOrSlug) { var parameters = new List <Parameter> { new Parameter("dropletId", dropletId, ParameterType.UrlSegment) }; var body = new Models.Requests.DropletAction { Type = "rebuild", Image = imageIdOrSlug }; return(_connection.ExecuteRequest <Action>("droplets/{dropletId}/actions", parameters, body, "action", Method.POST)); }
/// <summary> /// Resize a droplet /// </summary> public Task <Action> Resize(int dropletId, string sizeSlug, bool resizeDisk) { var parameters = new List <Parameter> { new Parameter("dropletId", dropletId, ParameterType.UrlSegment) }; var body = new Models.Requests.DropletAction { Type = "resize", Size = sizeSlug, Disk = resizeDisk }; return(_connection.ExecuteRequest <Action>("droplets/{dropletId}/actions", parameters, body, "action", Method.POST)); }
/// <summary> /// Shutdown a droplet /// </summary> public Task <Action> Shutdown(int dropletId) { var parameters = new List <Parameter> { new Parameter { Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment } }; var body = new Models.Requests.DropletAction { Type = "shutdown" }; return(_connection.ExecuteRequest <Action>("droplets/{dropletId}/actions", parameters, body, "action", Method.POST)); }