Use the .NET Cloud Server SDK
SDK version 1.1.0 Cloud API version 1.x
Table of Contents
Operations
There are two ways to initialize the 1&1 client. You can either have the API URL and token key in your app/web config, or you can pass the values in the constructor of the 1&1 client.
OneAndOneClient client = OneAndOneClient.Instance("https://xxxxxx.1and1.com/v1", apiToken); //API values passed through code
OneAndOneClient client = OneAndOneClient.Instance(); // API values in the config file
Servers
List all servers:
var servers = client.Servers.Get();
Show a single server:
var server = client.Servers.Show(serverId);
List available server flavors:
var serverFlavours = client.Servers.GetAvailableFixedServers();
Show a single server flavor:
var serverFlavour=client.Servers.GetFlavorInformation(serverFlavourId);
Create a server:
//get a server appliance for example here it's windows and it automatically installs, var appliance = client.ServerAppliances.Get().Where(app => app.OsFamily == OSFamliyType.Windows && app.AutomaticInstallation == true).FirstOrDefault();
//get a public IP that is not assigned to any server yet var publicIP = client.PublicIPs.Get().FirstOrDefault(ip => ip.AssignedTo == null);
var result = client.Servers.Create(new POCO.Requests.Servers.CreateServerRequest()
{
ApplianceId = appliance.Id,
Name = "My server",
Description = "Example description",
Hardware = new POCO.Requests.Servers.HardwareReqeust()
{
CoresPerProcessor = 1,
Hdds = new List<POCO.Requests.Servers.HddRequest>()
{
{new POCO.Requests.Servers.HddRequest()
{
IsMain=true,
//make sure that the hard drive meets the appliance minimum requirements
Size=appliance.MinHddSize,
}}
},
Ram = 4,
Vcore = 2
},
PowerOn = true,
Password = "Test123!",
IpId = publicIP.Id
});`
Update a server:
var result = client.Servers.Update(new UpdateServerRequest()
{
Description = "my server updated",
Name = "my server updated"
}, serverId);
Delete a server:
// the bool parameter is for Set true for keeping server IPs after deleting a server (false by default). var result = client.Servers.Delete(serverToDelete.Id, false);
Show a server's hardware:
var result = client.ServersHardware.Show(serverId);
Update a server's hardware:
var result = client.ServersHardware.Update(new POCO.Requests.Servers.UpdateHardwareRequest()
{
CoresPerProcessor = 2,
Ram = 8,
Vcore = 4
}, serverId);`
Get server's hard drives:
var result = client.ServerHdds.Get(serverId);
Show a server's hard drive:
var result = client.ServerHdds.Show(serverId, hardDriveId);
Add a hard drive to a server:
var result = client.ServerHdds.Create(new POCO.Requests.Servers.AddHddRequest()
{
Hdds = new System.Collections.Generic.List<POCO.Requests.Servers.HddRequest>()
{
{ new POCO.Requests.Servers.HddRequest()
{Size=20,IsMain=false}},
{new POCO.Requests.Servers.HddRequest()
{Size=30,IsMain=false}
}}
}, serverId);
Update a server’s hard drive size:
var result = client.ServerHdds.Update(new POCO.Requests.Servers.UpdateHddRequest()
{
Size = updatedSize
}, serverId, harddriveId);
Remove a hard drive from server:
var result = client.ServerHdds.Delete(serverId, harddriveId);
Show the server's loaded DVD:
var result = client.ServersHardware.ShowDVD(serverId);
Load a DVD into the server's unit:
var result = client.ServersHardware.UpdateDVD(serverId, dvdId);
Unload the server's loaded DVD:
var result = client.ServersHardware.DeleteDVD(serverId);
Show the server's image:
var image = client.ServerImage.Show(serverId);
Reinstall a new image into a server:
var result = client.ServerImage.Update(new POCO.Requests.Servers.UpdateServerImageRequest()
{
Id = imageId,
Password = "Test123!"
}, serverId);
List the server's IP addresses:
var result = client.ServerIps.Get(serverId);
Show a server's IP address:
var result = client.ServerIps.Show(serverId, ipId);
Assign an IP to the server:
var result = client.ServerIps.Create(new POCO.Requests.Servers.CreateServerIPRequest()
{
Type = IPType.IPV4
}, serverId);
Un-Assign an IP from the server:
//the bool parameter Set true for releasing the IP without removing it var result = client.ServerIps.Delete(serverId, ipId, true);
List server's firewall policies:
var result = client.ServerIps.GetFirewallPolicies(serverId, ipId);
Adds a new firewall policy to the server's IP:
var policyresult = client.FirewallPolicies.Show(firewallPolicyId); var result = client.ServerIps.UpdateFirewallPolicy(serverId, ipId, policyresult.Id);
Remove a firewall policy from server's IP:
var result = client.ServerIps.DeleteFirewallPolicy(serverId, ipId);
List all server's IP address load balancers:
var result = client.ServerIps.GetLoadBalancer(serverId, ipId);
Add a new load balancer to the IP:
var result = client.ServerIps.CreateLoadBalancer(serverId, ipId, loadBalancerId);
Remove load balancer from the IP:
var result = client.ServerIps.DeleteLoadBalancer(serverId, ipId, loadBalancerId);
Get server status:
var result = client.Servers.GetStatus(serverId);
Change server status:
var result = client.Servers.UpdateStatus(new UpdateStatusRequest()
{
Action = ServerAction.REBOOT,
Method = ServerActionMethod.SOFTWARE
}, serverId);
List server's private networks:
var result = client.Servers.GetPrivateNetworks(serverId);
Show a server's private network:
var result = client.Servers.ShowPrivateNetworks(serverId, privateNetworkId);
Add a server's private network:
var result = client.Servers.CreatePrivateNetwork(serverId, privateNetworkId);
Remove a server's private network:
var result = client.Servers.DeletePrivateNetwork(serverId, privateNetworkId);
List server's snapshots:
var result = client.Servers.GetSnapshots(serverId);
Creates a new snapshot of the server:
var result = client.Servers.CreateSnapshot(serverId);
Restore a snapshot into server:
var result = client.Servers.UpdateSnapshot(serverId, snapshotId);
Remove a snapshot from server:
var result = client.Servers.DeleteSnapshot(serverId, snapshotId);
Create a server clone:
var result = client.Servers.CreateClone(serverId, "Clone Name");
Images
List all images:
var images = client.Images.Get();
Get a single image:
var image = client.Images.Show(imageId);
Create an image:
var image = client.Images.Create(new POCO.Requests.Images.CreateImageRequest()
{
ServerId = serverId,
Description = "describe image",
Frequency = ImageFrequency.DAILY,
Name = "testImage",
NumIimages = 44// Max number of images
});
Update an image:
var result = client.Images.Update(new UpdateImageRequest()
{
Description = "updated",
Frequency = ImageFrequency.ONCE,
Name = "updaeted API Image"
}, image.Id);
Delete an image:
var result = client.Images.Delete(imageId);
Shared Storages
List shared storages:
var result = client.SharedStorages.Get();
Get a single shared storage:
var result = client.SharedStorages.Show(sharedStorageId);
Create a shared storage:
var result = client.SharedStorages.Create(new POCO.Requests.SharedStorages.CreateSharedStorage()
{
Description = "description",
Name = "TestStorage",
Size = 50
});
Update a shared storage:
var result = client.SharedStorages.Update(new POCO.Requests.SharedStorages.UpdateSharedStorageRequest()
{
Description = "description",
Name = "TestStorageupdated",
Size = 70
}, sharedStorageId);
Remove a shared storage:
var result = client.SharedStorages.Delete(sharedStorageId);
List a shared storage servers:
var result = client.SharedStorages.GetSharedStorageServers(sharedStorageId);
Get a shared storage single server:
var result = client.SharedStorages.ShowSharedStoragesServer(sharedStorageId, serverId);
Attaches servers to a shared storage:
//serverstoAdd is a list of string that represents the server id var result = client.SharedStorages.CreateServerSharedStorages(new POCO.Requests.SharedStorages.AttachSharedStorageServerRequest() { Servers = serverstoAdd }, sharedStorageId);
Unattaches a server from a shared storage:
var result = client.SharedStorages.DeleteSharedStoragesServer(sharedStorageId, serverId);
Return the credentials for accessing the shared storages:
var result = client.SharedStorages.ShowSharedStorageAccess();
Change the password for accessing the shared storages:
var result = client.SharedStorages.UpdateSharedStorageAccess("test123!");
Firewall Policies
List firewall policies:
var result = client.FirewallPolicies.Get();
Get a single firewall policy:
var result = client.FirewallPolicies.Show(firewallId);
Create a firewall policy:
var newRules = new System.Collections.Generic.List<POCO.Requests.FirewallPolicies.CreateFirewallPocliyRule>();
newRules.Add(new POCO.Requests.FirewallPolicies.CreateFirewallPocliyRule()
{
PortTo = 80,
PortFrom = 80,
Protocol = RuleProtocol.TCP,
Source = "0.0.0.0"
});
var result = client.FirewallPolicies.Create(new POCO.Requests.FirewallPolicies.CreateFirewallPolicyRequest()
{
Description = "TestFirewall",
Name = "TestFW",
Rules = newRules
});
Update a firewall policy:
var result = client.FirewallPolicies.Update(new POCO.Requests.FirewallPolicies.UpdateFirewallPolicyRequest()
{
Name = "Updated",
Description = "UpdDesc",
}, firewallId);
Delete a firewall policy:
var result = client.FirewallPolicies.Delete(firewallId);
Return a list of the servers/IPs attached to a firewall policy:
var result = client.FirewallPolicies.GetFirewallPolicyServerIps(firewallpolicyId);
Return information about a server/IP assigned to a firewall policy:
var result = client.FirewallPolicies.ShowFirewallPolicyServerIp(firewallpolicyId, serverIpId);
Assign servers/IPs to a firewall policy:
// ServerIps is a string list of server id var result = client.FirewallPolicies.CreateFirewallPolicyServerIPs(new POCO.Requests.FirewallPolicies.AssignFirewallServerIPRequest() { ServerIps = iptoAdd }, firewallpolicyId);
Unassign a server/IP from a firewall policy:
var result = client.FirewallPolicies.DeleteFirewallPolicyServerIP(firewallpolicyId, serverIpId);
Return a list of the rules of a firewall policy:
var result = client.FirewallPolicies.GetFirewallPolicyRules(firewallpolicyId);
Return information about a rule of a firewall policy:
var result = client.FirewallPolicies.ShowFirewallPolicyRule(firewallpolicyId, firewallpolicyRuleId);
Adds new rules to a firewall policy:
var result = client.FirewallPolicies.CreateFirewallPolicyRule(new POCO.Requests.FirewallPolicies.AddFirewallPolicyRuleRequest()
{
Rules = new System.Collections.Generic.List<POCO.Requests.FirewallPolicies.RuleRequest>()
{
{new OneAndOne.POCO.Requests.FirewallPolicies.RuleRequest()
{
PortFrom =8080,
PortTo = 8070,
Protocol = RuleProtocol.TCP,
Source = "0.0.0.0"
}}
}
}, firewallpolicyId);
Remove a rule from a firewall policy:
var result = client.FirewallPolicies.DeleteFirewallPolicyRules(firewallpolicyId, firewallpolicyRulesId);
Load Balancers
Return a list of your load balancers:
var result = client.LoadBalancer.Get();
Return information about a load balancer:
var result = client.LoadBalancer.Show(loadBalancerId);
Create a new load balancer:
var result = client.LoadBalancer.Create(new POCO.Requests.LoadBalancer.CreateLoadBalancerRequest()
{
Name = "LBTest",
Description = "LBdesc",
HealthCheckInterval = 1,
Persistence = true,
PersistenceTime = 30,
HealthCheckTest = HealthCheckTestTypes.NONE,
Method = LoadBalancerMethod.ROUND_ROBIN,
Rules = new System.Collections.Generic.List<POCO.Requests.LoadBalancer.LoadBalancerRuleRequest>()
{
{new POCO.Requests.LoadBalancer.LoadBalancerRuleRequest()
{
PortBalancer=80,
Protocol=LBRuleProtocol.TCP,
Source="0.0.0.0",
PortServer=80
}
}
}
});
Modify a load balancer:
var result = client.LoadBalancer.Update(new POCO.Requests.LoadBalancer.UpdateLoadBalancerRequest()
{
HealthCheckInterval = 100,
HealthCheckTest = HealthCheckTestTypes.TCP,
Method = LoadBalancerMethod.ROUND_ROBIN,
Persistence = false,
Name = "UpdatedLB" + loadBalancer.Name,
HealthCheckPathParse = "regex",
HealthCheckPath = "google.com"
}, loadBalancerId);
Removes a load balancer:
var result = client.LoadBalancer.Delete(loadBalancer.Id);
Return a list of the servers/IPs attached to a load balancer:
var result = client.LoadBalancer.GetLoadBalancerServerIps(loadBalancerId);
Return information about a server/IP assigned to a load balancer:
var result = client.LoadBalancer.ShowLoadBalancerServerIp(loadBalancerId, serverIpId);
Assign servers/IPs to a load balancer:
// iptoAdd is a list of string contains IDs of server Ips
var result = client.LoadBalancer.CreateLoadBalancerServerIPs(new POCO.Requests.LoadBalancer.AssignLoadBalancerServerIpsRequest()
{
ServerIps = iptoAdd
}, loadBalancerId);
Unassign a server/IP from a load balancer:
var result = client.LoadBalancer.DeleteLoadBalancerServerIP(loadBalancerId, serverIpId);
Return a list of the rules of a load balancer:
var result = client.LoadBalancer.GetLoadBalancerRules(loadBalancerId);
Returns information about a rule of a load balancer:
var result = client.LoadBalancer.ShowLoadBalancerRule(loadBalancerId, ruleId);
Add new rules to a load balancer:
var result = client.LoadBalancer.CreateLoadBalancerRule(new POCO.Requests.LoadBalancer.AddLoadBalancerRuleRequest()
{
Rules = new System.Collections.Generic.List<POCO.Requests.LoadBalancer.RuleRequest>()
{
{new OneAndOne.POCO.Requests.LoadBalancer.RuleRequest()
{
PortBalancer =8080,
PortServer = 8080,
Protocol = LBRuleProtocol.TCP,
Source = "0.0.0.0"
}}
}
}, loadBalancerId);
Removes a rule from a load balancer:
var result = client.LoadBalancer.DeleteLoadBalancerRules(loadBalancerId, ruleId);
Public IPs
Return a list of your public IPs:
var result = client.PublicIPs.Get();
Return information about a public IP:
var result = client.PublicIPs.Show(publicIpId);
Creates a new public IP:
var result = client.PublicIPs.Create(new POCO.Requests.PublicIPs.CreatePublicIPRequest()
{
ReverseDns = "dnsNameTest",
Type = IPType.IPV4
});
Modify the reverse DNS of a public IP:
var result = client.PublicIPs.Update("dnsNameTest", publicIpId);
Remove a public IP:
var result = client.PublicIPs.Delete(publicIpId);
Private Networks
Return a list of your private networks:
var result = client.PrivateNetworks.Get();
Return information about a private network:
var result = client.PrivateNetworks.Show(privateNetworkId);
Create a new private network:
var result = client.PrivateNetworks.Create(new POCO.Requests.PrivateNetworks.CreatePrivateNetworkRequest()
{
Name ="testPrivateNetwork",
Description = "test description",
NetworkAddress = "192.168.1.0",
SubnetMask = "255.255.255.0"
});
Modify a private network:
var result = client.PrivateNetworks.Update(new POCO.Requests.PrivateNetworks.UpdatePrivateNetworkRequest()
{
Name = "updated testPrivateNetwork",
NetworkAddress = "192.168.1.0",
SubnetMask = "255.255.255.0",
}, privateNetworkId);
Remove a private network:
var result = client.PrivateNetworks.Delete(privateNetworkId);
VPN
Return a list of your vpns:
var result = client.Vpn.Get()
Return information about a vpn:
var result = client.Vpn.Show(vpn.Id);
Download your VPN configuration file, a string with base64 format with the configuration for OpenVPN. It is a zip file:
var result = client.Vpn.ShowConfiguration(vpnId);
Create a new vpn:
var result = client.Vpn.Create(new POCO.Requests.Vpn.CreateVpnRequest
{
Name = "vpn test",
Description = "desc",
Datacenterid = datacenterId
});
Modify a vpn:
var result = client.Vpn.Update(new POCO.Requests.Vpn.UpdateVpnRequest
{
Name = "updated name",
Description = "desc update"
}, vpnId);
Remove a vpn:
var result = client.Vpn.Delete(vpnId);
Monitoring Center
List usages and alerts of monitoring servers:
var mCenters = client.MonitoringCenter.Get();
Return the usage of the resources for the specified time range:
var mCenters = client.MonitoringCenter.Show(serverId, PeriodType.CUSTOM, DateTime.Today.AddMonths(-2), DateTime.Today);
Monitoring Policies
Return a list of your monitoring policies:
var result = client.MonitoringPolicies.Get();
Return information about a monitoring policy:
var result = client.MonitoringPolicies.Show(monitoringPolicyId);
Create a new monitoring policy:
var ports = new List<POCO.Requests.MonitoringPolicies.Ports>();
ports.Add(new POCO.Requests.MonitoringPolicies.Ports()
{
EmailNotification = true,
AlertIf = AlertIfType.RESPONDING,
Port = 22,
Protocol = ProtocolType.TCP
});
var processes = new List<POCO.Requests.MonitoringPolicies.Processes>();
processes.Add(new Processes()
{
EmailNotification = true,
AlertIf = ProcessAlertType.NOT_RUNNING,
Process = "test",
});
var request = new POCO.Requests.MonitoringPolicies.CreateMonitoringPolictRequest()
{
Name = ".netMP",
Description = ".net decription",
Agent = true,
Ports = ports,
Processes = processes,
Thresholds = new POCO.Requests.MonitoringPolicies.Thresholds()
{
Cpu = new POCO.Requests.MonitoringPolicies.Cpu()
{
Critical = new POCO.Requests.MonitoringPolicies.Critical()
{
Alert = false,
Value = 95
},
Warning = new POCO.Requests.MonitoringPolicies.Warning()
{
Alert = false,
Value = 90
}
},
Ram = new POCO.Requests.MonitoringPolicies.Ram()
{
Critical = new POCO.Requests.MonitoringPolicies.Critical()
{
Alert = false,
Value = 95
},
Warning = new POCO.Requests.MonitoringPolicies.Warning()
{
Alert = false,
Value = 90
}
},
Disk = new POCO.Requests.MonitoringPolicies.Disk()
{
Critical = new POCO.Requests.MonitoringPolicies.DiskCritical()
{
Alert = false,
Value = 90
},
Warning = new POCO.Requests.MonitoringPolicies.DiskWarning()
{
Alert = false,
Value = 80
}
},
InternalPing = new POCO.Requests.MonitoringPolicies.InternalPing()
{
Critical = new POCO.Requests.MonitoringPolicies.InternalPingCritical()
{
Alert = false,
Value = 100
},
Warning = new POCO.Requests.MonitoringPolicies.InternalPingWarning()
{
Alert = false,
Value = 50
}
},
Transfer = new POCO.Requests.MonitoringPolicies.Transfer()
{
Critical = new POCO.Requests.MonitoringPolicies.TransferCritical()
{
Alert = false,
Value = 2000
},
Warning = new POCO.Requests.MonitoringPolicies.Warning()
{
Alert = false,
Value = 1000
}
}
}
};
var result = client.MonitoringPolicies.Create(request);
Modifiy a monitoring policy:
var request = new UpdateMonitoringPolicyRequest()
{
Name = "updated" + monitoringPolicy.Name,
Thresholds = new POCO.Requests.MonitoringPolicies.Thresholds()
{
Cpu = new POCO.Requests.MonitoringPolicies.Cpu()
{
Critical = new POCO.Requests.MonitoringPolicies.Critical()
{
Alert = false,
Value = 95
},
Warning = new POCO.Requests.MonitoringPolicies.Warning()
{
Alert = false,
Value = 90
}
},
Ram = new POCO.Requests.MonitoringPolicies.Ram()
{
Critical = new POCO.Requests.MonitoringPolicies.Critical()
{
Alert = false,
Value = 95
},
Warning = new POCO.Requests.MonitoringPolicies.Warning()
{
Alert = false,
Value = 90
}
},
Disk = new POCO.Requests.MonitoringPolicies.Disk()
{
Critical = new POCO.Requests.MonitoringPolicies.DiskCritical()
{
Alert = false,
Value = 90
},
Warning = new POCO.Requests.MonitoringPolicies.DiskWarning()
{
Alert = false,
Value = 80
}
},
InternalPing = new POCO.Requests.MonitoringPolicies.InternalPing()
{
Critical = new POCO.Requests.MonitoringPolicies.InternalPingCritical()
{
Alert = false,
Value = 100
},
Warning = new POCO.Requests.MonitoringPolicies.InternalPingWarning()
{
Alert = false,
Value = 50
}
},
Transfer = new POCO.Requests.MonitoringPolicies.Transfer()
{
Critical = new POCO.Requests.MonitoringPolicies.TransferCritical()
{
Alert = false,
Value = 2000
},
Warning = new POCO.Requests.MonitoringPolicies.Warning()
{
Alert = false,
Value = 1000
}
}
}
};
var result = client.MonitoringPolicies.Update(request, monitoringPolicy.Id);
Remove a monitoring policy:
var result = client.MonitoringPolicies.Delete(monitoringPolicyId);
Return a list of the ports of a monitoring policy:
var result = client.MonitoringPoliciesPorts.Get(monitoringPolicyId);
Returns information about a port of a monitoring policy:
var result = client.MonitoringPoliciesPorts.Show(monitoringPolicy.Id, port.Id);
Add new ports to a monitoring policy:
var ports = new List<POCO.Requests.MonitoringPolicies.Ports>();
ports.Add(new POCO.Requests.MonitoringPolicies.Ports()
{
EmailNotification = true,
AlertIf = AlertIfType.RESPONDING,
Port = 97,
Protocol = ProtocolType.TCP
});
ports.Add(new POCO.Requests.MonitoringPolicies.Ports()
{
EmailNotification = true,
AlertIf = AlertIfType.RESPONDING,
Port = 98,
Protocol = ProtocolType.TCP
});
var result = client.MonitoringPoliciesPorts.Create(ports, monitoringPolicyId);
Modify a port from a monitoring policy:
var request = new POCO.Requests.MonitoringPolicies.Ports()
{
EmailNotification = true,
AlertIf = AlertIfType.RESPONDING,
Port = 23,
Protocol = ProtocolType.TCP
};
var result = client.MonitoringPoliciesPorts.Update(request, monitoringPolicyId, portId);`
Remove a port from a monitoring policy:
var result = client.MonitoringPoliciesPorts.Delete(monitoringPolicyId, portId);
Return a list of the processes of a monitoring policy:
var result = client.MonitoringPoliciesProcesses.Get(monitoringPolicyId);
Return information about a process of a monitoring policy:
var result = client.MonitoringPoliciesProcesses.Show(monitoringPolicyId, processId);
Add new processes to a monitoring policy:
var processes = new List<POCO.Requests.MonitoringPolicies.Processes>();
processes.Add(new POCO.Requests.MonitoringPolicies.Processes()
{
EmailNotification = true,
AlertIf = ProcessAlertType.RUNNING,
Process = "iexplorer"
});
processes.Add(new POCO.Requests.MonitoringPolicies.Processes()
{
EmailNotification = true,
AlertIf = ProcessAlertType.RUNNING,
Process = "test"
});
var result = client.MonitoringPoliciesProcesses.Create(processes, monitoringPolicyId);
Modify a process from a monitoring policy:
var result = client.MonitoringPoliciesProcesses.Update(new POCO.Requests.MonitoringPolicies.Processes()
{
EmailNotification = true,
AlertIf = ProcessAlertType.RUNNING,
Process = "test"
}, monitoringPolicyId, processId);
Remove a process from a monitoring policy:
var result = client.MonitoringPoliciesProcesses.Delete(monitoringPolicyId, processId);
Return a list of the servers attached to a monitoring policy:
var result = client.MonitoringPoliciesServers.Get(monitoringPolicyId);
Return information about a server attached to a monitoring policy:
var result = client.MonitoringPoliciesServers.Show(monitoringPolicyId, serverId);
Attach servers to a monitoring policy:
//servers are a list of string of the servers IDs var result = client.MonitoringPoliciesServers.Create(servers, monitoringPolicyId);
Unattach a server from a monitoring policy:
var result = client.MonitoringPoliciesServers.Delete(monitoringPolicyId, serverId);
Logs
Return a list with logs:
var result = client.Logs.Get(PeriodType.LAST_24H);
Return information about a log:
var result = client.Logs.Show(logId);
Users
Return a list with all users:
var result = client.Users.Get();
Return information about a user:
var result = client.Users.Show(UserId);
Creates a new user:
var result = client.Users.Create(new POCO.Requests.Users.CreateUserRequest()
{
Name = "test user",
Password = "Test123!",
Description = "description",
});
Modify user information:
var result = client.Users.Update(new POCO.Requests.Users.UpdateUserRequest()
{
Description = "description",
State = UserState.ACTIVE
}, UserId);
Remove a user:
var result = client.Users.Delete(UserId);
Information about API:
var result = client.UserAPI.ShowUserAPI(UserId);
Allow to enable or disable the API:
var result = client.UserAPI.UpdateUserAPI(UserId, true);
Show the API key:
var result = client.UserAPI.ShowUserAPIKey(UserId);
Change the API key:
var result = client.UserAPI.UpdateAPIKey(UserId);
Return IPs from which access to API is allowed:
var result = client.UserAPI.GetUserIps(UserId);
Allow a new IP:
var listOfIps = new List<string>();
listOfIps.Add("185.13.243.86");
var result = client.UserAPI.UpdateAPIIps(listOfIps, UserId);`
Delete an IP and forbid API access for it:
var result = client.UserAPI.DeleteUserIp(UserId, allowedIp);
Roles
Return a list with all roles:
var result = client.Roles.Get();
Return information about a role:
var result = client.Roles.Show(roleId);
Creates a new role:
var result = client.Roles.Create(roleName);
Modify role information:
var result = client.Roles.Update(roleName, description, POCO.Requests.Users.UserState.ACTIVE, role.Id);
Remove a role:
var result = client.Roles.Delete(roleId);
Lists role's permissions:
var result = client.Roles.GetPermissions(role.Id);
Adds permissions to the role:
var result = client.Roles.UpdatePermissions(new Permissions
{
Servers = new POCO.Response.Roles.Servers
{
Show = true,
SetName = false,
Shutdown = true
}
}, roleId);
Returns users assigned to role:
var result = client.Roles.GetRoleUsers(roleId);
Add users to role:
var result=client.Roles.CreateRoleUsers(new System.Collections.Generic.List<string> { { userId } }, roleId);
Returns information about a user:
var userInfo = client.Roles.ShowRoleUser(roleId, userId);
Removes user from role:
var removed = client.Roles.DeleteRoleUser(roleId, userId);
Clones a role:
var clone = client.Roles.CreateRoleClone(cloneName, roleId);
Usages
Return a list of your usages:
var result = client.Usages.Get(PeriodType.LAST_24H);
Server Appliances
Return a list of all the appliances that you can use for creating a server:
var result = client.ServerAppliances.Get();
Return Information about specific appliance:
var result = client.ServerAppliances.Show(appliancesId);
DVD ISO
Return a list of all the operative systems and tools that you can load into your virtual DVD unit:
var result = client.DVDs.Get();
Information about specific ISO image:
var result = client.DVDs.Show(dvdId);
Ping
Ping the API, returns true if the API is running:
var result = client.Common.Ping();
Ping the API Authentication, returns true if the API token is valid
var result = client.Common.PingAuthentication();
Pricing
Returns prices for all available resources in Cloud Panel:
var result = client.Common.GetPricing();
Datacenters
Returns information about available datacenters to create your resources:
var result = client.DataCenters.Get();
Returns information about a datacenter:
var result = client.DataCenters.Show(dcId);
Copyright (c) 2016 1&1 Internet SE
Last updated: 7/12/2017
Comments
Tags: Management