mirror of
https://github.com/samsonjs/arq_restore.git
synced 2026-03-25 09:25:53 +00:00
added ap-southeast-1 bucket region
This commit is contained in:
parent
faa8c0e2ad
commit
ac79ae41ec
4 changed files with 27 additions and 23 deletions
|
|
@ -42,8 +42,6 @@
|
|||
|
||||
@interface ArqRestoreCommand (internal)
|
||||
- (BOOL)validateS3Keys:(NSError **)error;
|
||||
- (NSArray *)s3BucketNames:(NSError **)error;
|
||||
- (NSString *)s3BucketNameForRegion:(int)s3BucketRegion;
|
||||
@end
|
||||
|
||||
@implementation ArqRestoreCommand
|
||||
|
|
@ -80,10 +78,7 @@
|
|||
if (![self validateS3Keys:error]) {
|
||||
return NO;
|
||||
}
|
||||
NSArray *s3BucketNames = [self s3BucketNames:error];
|
||||
if (s3BucketNames == nil) {
|
||||
return NO;
|
||||
}
|
||||
NSArray *s3BucketNames = [S3Service s3BucketNamesForAccessKeyID:accessKey];
|
||||
NSMutableArray *computerUUIDPaths = [NSMutableArray array];
|
||||
for (NSString *s3BucketName in s3BucketNames) {
|
||||
NSString *computerUUIDPrefix = [NSString stringWithFormat:@"/%@/", s3BucketName];
|
||||
|
|
@ -172,20 +167,4 @@
|
|||
}
|
||||
return YES;
|
||||
}
|
||||
- (NSArray *)s3BucketNames:(NSError **)error {
|
||||
return [NSArray arrayWithObjects:
|
||||
[self s3BucketNameForRegion:BUCKET_REGION_US_STANDARD],
|
||||
[self s3BucketNameForRegion:BUCKET_REGION_US_WEST],
|
||||
[self s3BucketNameForRegion:BUCKET_REGION_EU],
|
||||
nil];
|
||||
}
|
||||
- (NSString *)s3BucketNameForRegion:(int)s3BucketRegion {
|
||||
NSString *regionSuffix = @"";
|
||||
if (s3BucketRegion == BUCKET_REGION_US_WEST) {
|
||||
regionSuffix = @".us-west-1";
|
||||
} else if (s3BucketRegion == BUCKET_REGION_EU) {
|
||||
regionSuffix = @".eu";
|
||||
}
|
||||
return [NSString stringWithFormat:@"%@.com.haystacksoftware.arq%@", [accessKey lowercaseString], regionSuffix];
|
||||
}
|
||||
@end
|
||||
|
|
|
|||
|
|
@ -36,6 +36,7 @@
|
|||
#import "ArqFolder.h"
|
||||
|
||||
static void printUsage(const char *exeName) {
|
||||
fprintf(stderr, "Usage:\n");
|
||||
fprintf(stderr, "\t%s\n", exeName);
|
||||
fprintf(stderr, "\t%s /s3bucket/computerUUID/folderUUID\n", exeName);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,7 +39,8 @@
|
|||
enum {
|
||||
BUCKET_REGION_US_STANDARD = 0,
|
||||
BUCKET_REGION_US_WEST = 1,
|
||||
BUCKET_REGION_EU = 2
|
||||
BUCKET_REGION_EU = 2,
|
||||
BUCKET_REGION_AP_SOUTHEAST_1 = 3
|
||||
};
|
||||
|
||||
@interface S3Service : NSObject {
|
||||
|
|
@ -50,6 +51,8 @@ enum {
|
|||
+ (NSString *)errorDomain;
|
||||
+ (NSString *)serverErrorDomain;
|
||||
+ (NSString *)displayNameForBucketRegion:(int)region;
|
||||
+ (NSString *)s3BucketNameForAccessKeyID:(NSString *)theAccessKeyId region:(int)s3BucketRegion;
|
||||
+ (NSArray *)s3BucketNamesForAccessKeyID:(NSString *)theAccessKeyId;
|
||||
- (id)initWithS3AuthorizationProvider:(S3AuthorizationProvider *)theSAP useSSL:(BOOL)useSSL retryOnNetworkError:(BOOL)retry;
|
||||
- (NSArray *)s3BucketNames:(NSError **)error;
|
||||
- (BOOL)s3BucketExists:(NSString *)s3BucketName;
|
||||
|
|
|
|||
|
|
@ -69,12 +69,33 @@
|
|||
return @"US Standard";
|
||||
case BUCKET_REGION_US_WEST:
|
||||
return @"US West";
|
||||
case BUCKET_REGION_AP_SOUTHEAST_1:
|
||||
return @"Asia Pacific (Singapore)";
|
||||
case BUCKET_REGION_EU:
|
||||
return @"EU";
|
||||
}
|
||||
NSAssert(NO, @"invalid S3 bucket region");
|
||||
return nil;
|
||||
}
|
||||
+ (NSString *)s3BucketNameForAccessKeyID:(NSString *)theAccessKeyID region:(int)s3BucketRegion {
|
||||
NSString *regionSuffix = @"";
|
||||
if (s3BucketRegion == BUCKET_REGION_US_WEST) {
|
||||
regionSuffix = @".us-west-1";
|
||||
} else if (s3BucketRegion == BUCKET_REGION_AP_SOUTHEAST_1) {
|
||||
regionSuffix = @".ap-southeast-1";
|
||||
} else if (s3BucketRegion == BUCKET_REGION_EU) {
|
||||
regionSuffix = @".eu";
|
||||
}
|
||||
return [NSString stringWithFormat:@"%@.com.haystacksoftware.arq%@", [theAccessKeyID lowercaseString], regionSuffix];
|
||||
}
|
||||
+ (NSArray *)s3BucketNamesForAccessKeyID:(NSString *)theAccessKeyId {
|
||||
return [NSArray arrayWithObjects:
|
||||
[S3Service s3BucketNameForAccessKeyID:theAccessKeyId region:BUCKET_REGION_US_STANDARD],
|
||||
[S3Service s3BucketNameForAccessKeyID:theAccessKeyId region:BUCKET_REGION_US_WEST],
|
||||
[S3Service s3BucketNameForAccessKeyID:theAccessKeyId region:BUCKET_REGION_EU],
|
||||
[S3Service s3BucketNameForAccessKeyID:theAccessKeyId region:BUCKET_REGION_AP_SOUTHEAST_1],
|
||||
nil];
|
||||
}
|
||||
- (id)initWithS3AuthorizationProvider:(S3AuthorizationProvider *)theSAP useSSL:(BOOL)isUseSSL retryOnNetworkError:(BOOL)retry {
|
||||
if (self = [super init]) {
|
||||
sap = [theSAP retain];
|
||||
|
|
|
|||
Loading…
Reference in a new issue