Merge pull request #24677 from doomsower/minio-bucket-policy

[minio] Update set/getBucketPolicy definitions to 5.0
This commit is contained in:
Paul van Brenk
2018-04-03 10:32:04 -07:00
committed by GitHub
2 changed files with 18 additions and 13 deletions
+7 -8
View File
@@ -1,4 +1,4 @@
// Type definitions for minio 4.0
// Type definitions for minio 5.0
// Project: https://github.com/minio/minio-js#readme
// Definitions by: Barin Britva <https://github.com/barinbritva>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
@@ -11,7 +11,6 @@ import EventEmitter = NodeJS.EventEmitter;
// Exports only from typings
export type Region = 'us-east-1'|'us-west-1'|'us-west-2'|'eu-west-1'|'eu-central-1'|'ap-southeast-1'|'ap-northeast-1'|'ap-southeast-2'|'sa-east-1'|'cn-north-1'|string;
export type PolicyValue = 'none'|'readonly'|'writeonly'|'readwrite';
export type NoResultCallback = (error: Error|null) => void;
export type ResultCallback<T> = (error: Error|null, result: T) => void;
@@ -85,8 +84,8 @@ export class Client {
listBuckets(callback: ResultCallback<BucketItemFromList[]>): void;
listBuckets(): Promise<BucketItemFromList>;
bucketExists(bucketName: string, callback: NoResultCallback): void;
bucketExists(bucketName: string): Promise<void>;
bucketExists(bucketName: string, callback: ResultCallback<boolean>): void;
bucketExists(bucketName: string): Promise<boolean>;
removeBucket(bucketName: string, callback: NoResultCallback): void;
removeBucket(bucketName: string): Promise<void>;
@@ -158,11 +157,11 @@ export class Client {
// todo #low Specify events
listenBucketNotification(bucketName: string, prefix: string, suffix: string, events: string[]): EventEmitter;
getBucketPolicy(bucketName: string, objectPrefix: string, callback: ResultCallback<PolicyValue>): void;
getBucketPolicy(bucketName: string, objectPrefix: string): Promise<PolicyValue>;
getBucketPolicy(bucketName: string, callback: ResultCallback<string>): void;
getBucketPolicy(bucketName: string): Promise<string>;
setBucketPolicy(bucketName: string, objectPrefix: string, bucketPolice: PolicyValue, callback: NoResultCallback): void;
setBucketPolicy(bucketName: string, objectPrefix: string, bucketPolice: PolicyValue): Promise<void>;
setBucketPolicy(bucketName: string, bucketPolicy: string, callback: NoResultCallback): void;
setBucketPolicy(bucketName: string, bucketPolicy: string): Promise<void>;
// Other
newPostPolicy(): PostPolicy;
+11 -5
View File
@@ -16,7 +16,7 @@ minio.makeBucket('testBucket', 'region-not-from-list');
minio.listBuckets((error: Error|null, bucketList: Minio.BucketItemFromList[]) => { console.log(error, bucketList); });
minio.listBuckets();
minio.bucketExists('testBucket', (error: Error|null) => { console.log(error); });
minio.bucketExists('testBucket', (error: Error|null, exists: boolean) => { console.log(error, exists); });
minio.bucketExists('testBucket');
minio.removeBucket('testBucket', (error: Error|null) => { console.log(error); });
@@ -106,8 +106,14 @@ minio.removeAllBucketNotification('testBucket');
minio.listenBucketNotification('testBucket', 'pref_', '_suf', [ Minio.ObjectCreatedAll ]);
minio.getBucketPolicy('testBucket', 'pref_', (error: Error|null, policy: Minio.PolicyValue) => { console.log(error, policy); });
minio.getBucketPolicy('testBucket', '');
minio.getBucketPolicy('testBucket', (error: Error|null, policy: string) => { console.log(error, policy); });
minio.getBucketPolicy('testBucket');
minio.setBucketPolicy('testBucket', '', Minio.Policy.READWRITE, (error: Error|null) => { console.log(error); });
minio.setBucketPolicy('testBucket', 'pref_', Minio.Policy.WRITEONLY);
const testPolicy = `{"Version":"2012-10-17","Statement":[{"Action":["s3:GetBucketLocation"],"Effect":"Allow",
"Principal":{"AWS":["*"]},"Resource":["arn:aws:s3:::bucketName"],"Sid":""},{"Action":["s3:ListBucket"],
"Condition":{"StringEquals":{"s3:prefix":["foo","prefix/"]}},"Effect":"Allow","Principal":{"AWS":["*"]},
"Resource":["arn:aws:s3:::bucketName"],"Sid":""},{"Action":["s3:GetObject"],"Effect":"Allow",
"Principal":{"AWS":["*"]},"Resource":["arn:aws:s3:::bucketName/foo*","arn:aws:s3:::bucketName/prefix/*"],"Sid":""}]}
`;
minio.setBucketPolicy('testBucket', testPolicy, (error: Error|null) => { console.log(error); });
minio.setBucketPolicy('testBucket', testPolicy);