/// <summary>
 /// Reset the root password of the droplet
 /// </summary>
 public Task<Action> ResetPassword(int dropletId) {
     var parameters = new List<Parameter> {
         new Parameter { Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment }
     };
     var body = new Models.Requests.Action { Type = "password_reset" };
     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 {
                    Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment
                }
            };
            var body = new Models.Requests.Action {
                Type = "power_on"
            };

            return(_connection.ExecuteRequest <Action>("droplets/{dropletId}/actions", parameters, body,
                                                       "action", Method.POST));
        }
        /// <summary>
        /// Enable private networking on a droplet
        /// </summary>
        public Task <Action> EnablePrivateNetworking(int dropletId)
        {
            var parameters = new List <Parameter> {
                new Parameter {
                    Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment
                }
            };
            var body = new Models.Requests.Action {
                Type = "enable_private_networking"
            };

            return(_connection.ExecuteRequest <Action>("droplets/{dropletId}/actions", parameters, body,
                                                       "action", Method.POST));
        }
Example #4
0
        /// <inheritdoc />
        /// <summary>
        /// Shutdown a droplet
        /// </summary>
        public Task <Action> Shutdown(int dropletId, CancellationToken token = default)
        {
            var parameters = new List <Parameter>
            {
                new Parameter {
                    Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment
                }
            };
            var body = new Models.Requests.Action {
                Type = "shutdown"
            };

            return(_connection.ExecuteRequest <Action>("droplets/{dropletId}/actions", parameters, body,
                                                       "action", Method.POST, token));
        }
        /// <summary>
        /// Create a snapshot of a droplet
        /// </summary>
        public Task <Action> Snapshot(int dropletId, string name)
        {
            var parameters = new List <Parameter> {
                new Parameter {
                    Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment
                }
            };
            var body = new Models.Requests.Action {
                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 {
                    Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment
                }
            };
            var body = new Models.Requests.Action {
                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 {
                    Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment
                }
            };
            var body = new Models.Requests.Action {
                Type          = "rebuild",
                ImageIdOrSlug = 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)
        {
            var parameters = new List <Parameter> {
                new Parameter {
                    Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment
                }
            };
            var body = new Models.Requests.Action {
                Type     = "resize",
                SizeSlug = sizeSlug
            };

            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) {
     var parameters = new List<Parameter> {
         new Parameter { Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment }
     };
     var body = new Models.Requests.Action {
         Type = "resize",
         SizeSlug = sizeSlug
     };
     return _connection.ExecuteRequest<Action>("droplets/{dropletId}/actions", parameters, body,
         "action", Method.POST);
 }
 /// <summary>
 /// Create a snapshot of a droplet
 /// </summary>
 public Task<Action> Snapshot(int dropletId, string name) {
     var parameters = new List<Parameter> {
         new Parameter { Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment }
     };
     var body = new Models.Requests.Action {
         Type = "snapshot",
         Name = name
     };
     return _connection.ExecuteRequest<Action>("droplets/{dropletId}/actions", parameters, body,
         "action", Method.POST);
 }
 /// <summary>
 /// Enable private networking on a droplet
 /// </summary>
 public Task<Action> EnablePrivateNetworking(int dropletId) {
     var parameters = new List<Parameter> {
         new Parameter { Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment }
     };
     var body = new Models.Requests.Action { Type = "enable_private_networking" };
     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 { Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment }
     };
     var body = new Models.Requests.Action {
         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 { Name = "dropletId", Value = dropletId, Type = ParameterType.UrlSegment }
     };
     var body = new Models.Requests.Action {
         Type = "rebuild",
         ImageIdOrSlug = imageIdOrSlug
     };
     return _connection.ExecuteRequest<Action>("droplets/{dropletId}/actions", parameters, body,
         "action", Method.POST);
 }