Statistics
| Branch: | Tag: | Revision:

root / Classes / AccountManager.h @ 7db1712d

History | View | Annotate | Download (4.1 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
}
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
- (APICallback *)getStorageAccountInfo;
56
- (APICallback *)getSharingAccounts;
57
- (APICallback *)getContainers;
58
- (APICallback *)createContainer:(Container *)container;
59
- (APICallback *)deleteContainer:(Container *)container;
60

    
61
- (void)getObjects:(Container *)container;
62
- (void)getObjects:(Container *)container afterMarker:(NSString *)marker objectsBuffer:(NSMutableDictionary *)objectsBuffer;
63
- (APICallback *)getObjectInfo:(Container *)container object:(StorageObject *)object;
64
- (APICallback *)getObject:(Container *)container object:(StorageObject *)object downloadProgressDelegate:(id)downloadProgressDelegate;
65
- (APICallback *)writeObject:(Container *)container object:(StorageObject *)object downloadProgressDelegate:(id)downloadProgressDelegate;
66
- (APICallback *)writeObjectMetadata:(Container *)container object:(StorageObject *)object;
67
- (APICallback *)deleteObject:(Container *)container object:(StorageObject *)object;
68

    
69
//account actions
70

    
71
- (APICallback *)writeAccountMetadata:(NSDictionary *)accountInfo;
72

    
73
// container actions
74
- (void)updateCDNContainer:(Container *)container;
75
- (APICallback *)writeContainerPolicy:(Container *)container;
76

    
77

    
78
// load balancing
79

    
80
- (APICallback *)getLoadBalancers:(NSString *)endpoint;
81
- (APICallback *)getLoadBalancerDetails:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
82
- (APICallback *)getLoadBalancerProtocols:(NSString *)endpoint;
83
- (APICallback *)createLoadBalancer:(LoadBalancer *)loadBalancer;
84
- (APICallback *)updateLoadBalancer:(LoadBalancer *)loadBalancer;
85
- (APICallback *)deleteLoadBalancer:(LoadBalancer *)loadBalancer;
86
- (APICallback *)updateLoadBalancerConnectionLogging:(LoadBalancer *)loadBalancer;
87

    
88
- (APICallback *)getLoadBalancerConnectionThrottling:(LoadBalancer *)loadBalancer;
89
- (APICallback *)updateLoadBalancerConnectionThrottling:(LoadBalancer *)loadBalancer;
90
- (APICallback *)deleteLoadBalancerConnectionThrottling:(LoadBalancer *)loadBalancer;
91

    
92

    
93
- (APICallback *)getLoadBalancerUsage:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
94
- (APICallback *)addLBNodes:(NSArray *)nodes loadBalancer:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
95
- (APICallback *)updateLBNode:(LoadBalancerNode *)node loadBalancer:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
96
- (APICallback *)deleteLBNode:(LoadBalancerNode *)node loadBalancer:(LoadBalancer *)loadBalancer endpoint:(NSString *)endpoint;
97

    
98

    
99
@end