Expanded open file functionality to use available apps.
[pithos-ios] / Classes / AccountManager.h
1 //
2 //  AccountManager.h
3 //  OpenStack
4 //
5 //  Created by Mike Mayo on 10/21/10.
6 //  The OpenStack project is provided under the Apache 2.0 license.
7 //
8
9 #import <Foundation/Foundation.h>
10
11 // this class performs API calls on accounts and broadcasts NSNotifications to any other
12 // object that chooses to observe the notification
13
14 @class OpenStackAccount, Server, Flavor, Image, Container, StorageObject, OpenStackRequest, ASINetworkQueue, APICallback, LoadBalancer, LoadBalancerNode;
15
16 @interface AccountManager : NSObject {
17     OpenStackAccount *account;
18     ASINetworkQueue *queue;
19 }
20
21 @property (nonatomic, retain) ASINetworkQueue *queue;
22
23 @property (nonatomic, assign) OpenStackAccount *account;
24
25 - (NSString *)notificationName:(NSString *)key identifier:(NSString *)identifier;
26 - (void)notify:(NSString *)name request:(OpenStackRequest *)request;
27 - (void)notify:(NSString *)name request:(OpenStackRequest *)request object:(id)object;
28     
29 - (APICallback *)authenticate;
30
31 // compute
32
33 - (void)getLimits;
34 - (void)softRebootServer:(Server *)server;
35 - (void)hardRebootServer:(Server *)server;
36 - (void)changeAdminPassword:(Server *)server password:(NSString *)password;
37 - (APICallback *)renameServer:(Server *)server name:(NSString *)name;
38 - (void)deleteServer:(Server *)server;
39 - (void)createServer:(Server *)server;
40 - (void)resizeServer:(Server *)server flavor:(Flavor *)flavor;
41 - (void)confirmResizeServer:(Server *)server;
42 - (void)revertResizeServer:(Server *)server;
43 - (void)rebuildServer:(Server *)server image:(Image *)image;
44 - (void)getBackupSchedule:(Server *)server;
45 - (void)updateBackupSchedule:(Server *)server;
46
47 - (void)getServers;
48 - (APICallback *)getServersWithCallback;
49 - (void)getImages;
50 - (void)getFlavors;
51 - (void)getImage:(Server *)server;
52
53 // object storage
54
55 - (void)getStorageAccountInfo;
56 - (void)getContainers;
57 - (APICallback *)getContainersWithCallback;
58 - (void)createContainer:(Container *)container;
59 - (void)deleteContainer:(Container *)container;
60
61 - (void)getObjects:(Container *)container;
62 - (void)getObjectInfo:(Container *)container object:(StorageObject *)object;
63 - (void)getObject:(Container *)container object:(StorageObject *)object downloadProgressDelegate:(id)downloadProgressDelegate;
64 - (void)writeObject:(Container *)container object:(StorageObject *)object downloadProgressDelegate:(id)downloadProgressDelegate;
65 - (void)writeObjectMetadata:(Container *)container object:(StorageObject *)object;
66 - (void)deleteObject:(Container *)container object:(StorageObject *)object;
67
68 //account actions
69
70 - (void)writeAccountMetadata:(NSDictionary *)accountInfo;
71
72 // container actions
73 - (void)updateCDNContainer:(Container *)container;
74 - (void)writeContainerPolicy:(Container *)container;
75
76 // load balancing
77
78 - (APICallback *)getLoadBalancers:(NSString *)endpoint;
79 - (APICallback *)getLoadBalancerDetails:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
80 - (APICallback *)getLoadBalancerProtocols:(NSString *)endpoint;
81 - (APICallback *)createLoadBalancer:(LoadBalancer *)loadBalancer;
82 - (APICallback *)updateLoadBalancer:(LoadBalancer *)loadBalancer;
83 - (APICallback *)deleteLoadBalancer:(LoadBalancer *)loadBalancer;
84 - (APICallback *)updateLoadBalancerConnectionLogging:(LoadBalancer *)loadBalancer;
85
86 - (APICallback *)getLoadBalancerConnectionThrottling:(LoadBalancer *)loadBalancer;
87 - (APICallback *)updateLoadBalancerConnectionThrottling:(LoadBalancer *)loadBalancer;
88 - (APICallback *)deleteLoadBalancerConnectionThrottling:(LoadBalancer *)loadBalancer;
89
90
91 - (APICallback *)getLoadBalancerUsage:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
92 - (APICallback *)addLBNodes:(NSArray *)nodes loadBalancer:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
93 - (APICallback *)updateLBNode:(LoadBalancerNode *)node loadBalancer:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
94 - (APICallback *)deleteLBNode:(LoadBalancerNode *)node loadBalancer:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
95
96 @end