Statistics
| Branch: | Tag: | Revision:

root / Classes / AccountManager.h @ 64929bae

History | View | Annotate | Download (4.9 kB)

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
    NSMutableDictionary *objectDownloadRequests;
20
}
21

    
22
@property (nonatomic, retain) ASINetworkQueue *queue;
23

    
24
@property (nonatomic, assign) OpenStackAccount *account;
25
@property (nonatomic, retain) NSMutableDictionary *objectDownloadRequests;
26

    
27
- (NSString *)notificationName:(NSString *)key identifier:(NSString *)identifier;
28
- (void)notify:(NSString *)name request:(OpenStackRequest *)request;
29
- (void)notify:(NSString *)name request:(OpenStackRequest *)request object:(id)object;
30
    
31
- (APICallback *)authenticate;
32

    
33
// compute
34

    
35
- (void)getLimits;
36
- (void)softRebootServer:(Server *)server;
37
- (void)hardRebootServer:(Server *)server;
38
- (void)changeAdminPassword:(Server *)server password:(NSString *)password;
39
- (APICallback *)renameServer:(Server *)server name:(NSString *)name;
40
- (void)deleteServer:(Server *)server;
41
- (void)createServer:(Server *)server;
42
- (void)resizeServer:(Server *)server flavor:(Flavor *)flavor;
43
- (void)confirmResizeServer:(Server *)server;
44
- (void)revertResizeServer:(Server *)server;
45
- (void)rebuildServer:(Server *)server image:(Image *)image;
46
- (void)getBackupSchedule:(Server *)server;
47
- (void)updateBackupSchedule:(Server *)server;
48

    
49
- (void)getServers;
50
- (APICallback *)getServersWithCallback;
51
- (void)getImages;
52
- (void)getFlavors;
53
- (void)getImage:(Server *)server;
54

    
55
// object storage
56

    
57
- (APICallback *)getStorageAccountInfo;
58
- (APICallback *)getSharingAccounts;
59
- (APICallback *)getContainers;
60
- (APICallback *)createContainer:(Container *)container;
61
- (APICallback *)deleteContainer:(Container *)container;
62

    
63
- (void)getObjects:(Container *)container;
64
- (void)getObjects:(Container *)container afterMarker:(NSString *)marker objectsBuffer:(NSMutableDictionary *)objectsBuffer;
65
- (APICallback *)getObjectInfo:(Container *)container object:(StorageObject *)object;
66
- (APICallback *)getObjectInfo:(Container *)container object:(StorageObject *)object version:(NSString *)version;
67
- (APICallback *)getObjectVersionsList:(Container *)container object:(StorageObject *)object;
68
- (APICallback *)getObject:(Container *)container object:(StorageObject *)object downloadProgressDelegate:(id)downloadProgressDelegate;
69

    
70
- (APICallback *)getObject:(Container *)container
71
                    object:(StorageObject *)object
72
  downloadProgressDelegate:(id)downloadProgressDelegate
73
           requestUserInfo:(NSDictionary *)requestUserInfo;
74

    
75
- (APICallback *)getObject:(Container *)container
76
                    object:(StorageObject *)object
77
  downloadProgressDelegate:(id)downloadProgressDelegate 
78
           requestUserInfo:(NSDictionary *)requestUserInfo
79
                   version:(NSString *)version;
80

    
81

    
82
- (APICallback *)writeObject:(Container *)container object:(StorageObject *)object downloadProgressDelegate:(id)downloadProgressDelegate;
83
- (APICallback *)writeObjectMetadata:(Container *)container object:(StorageObject *)object;
84
- (APICallback *)deleteObject:(Container *)container object:(StorageObject *)object;
85

    
86
//account actions
87

    
88
- (APICallback *)writeAccountMetadata:(NSDictionary *)accountInfo;
89

    
90
// container actions
91
- (void)updateCDNContainer:(Container *)container;
92
- (APICallback *)writeContainerPolicy:(Container *)container;
93

    
94

    
95
// load balancing
96

    
97
- (APICallback *)getLoadBalancers:(NSString *)endpoint;
98
- (APICallback *)getLoadBalancerDetails:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
99
- (APICallback *)getLoadBalancerProtocols:(NSString *)endpoint;
100
- (APICallback *)createLoadBalancer:(LoadBalancer *)loadBalancer;
101
- (APICallback *)updateLoadBalancer:(LoadBalancer *)loadBalancer;
102
- (APICallback *)deleteLoadBalancer:(LoadBalancer *)loadBalancer;
103
- (APICallback *)updateLoadBalancerConnectionLogging:(LoadBalancer *)loadBalancer;
104

    
105
- (APICallback *)getLoadBalancerConnectionThrottling:(LoadBalancer *)loadBalancer;
106
- (APICallback *)updateLoadBalancerConnectionThrottling:(LoadBalancer *)loadBalancer;
107
- (APICallback *)deleteLoadBalancerConnectionThrottling:(LoadBalancer *)loadBalancer;
108

    
109

    
110
- (APICallback *)getLoadBalancerUsage:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
111
- (APICallback *)addLBNodes:(NSArray *)nodes loadBalancer:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
112
- (APICallback *)updateLBNode:(LoadBalancerNode *)node loadBalancer:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
113
- (APICallback *)deleteLBNode:(LoadBalancerNode *)node loadBalancer:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
114

    
115

    
116
@end