-
Notifications
You must be signed in to change notification settings - Fork 10
/
AnalyticsOutput.ts
42 lines (36 loc) · 1.2 KB
/
AnalyticsOutput.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
import {map, mapArray} from '../common/Mapper';
import AclEntry from './AclEntry';
import AnalyticsAzureOutput from './AnalyticsAzureOutput';
import AnalyticsGcsServiceAccountOutput from './AnalyticsGcsServiceAccountOutput';
import AnalyticsOutputType from './AnalyticsOutputType';
import AnalyticsS3RoleBasedOutput from './AnalyticsS3RoleBasedOutput';
import BitmovinResource from './BitmovinResource';
export type AnalyticsOutputUnion =
AnalyticsS3RoleBasedOutput |
AnalyticsGcsServiceAccountOutput |
AnalyticsAzureOutput;
/**
* @export
* @class AnalyticsOutput
*/
export class AnalyticsOutput extends BitmovinResource {
protected static readonly _discriminatorName = 'type';
protected static readonly _discriminatorMapping: { [key in keyof typeof AnalyticsOutputType]: string; } = {
S3_ROLE_BASED: 'AnalyticsS3RoleBasedOutput',
GCS_SERVICE_ACCOUNT: 'AnalyticsGcsServiceAccountOutput',
AZURE: 'AnalyticsAzureOutput'
};
/**
* @type {AclEntry[]}
* @memberof AnalyticsOutput
*/
public acl?: AclEntry[];
constructor(obj?: Partial<AnalyticsOutput>) {
super(obj);
if(!obj) {
return;
}
this.acl = mapArray(obj.acl, AclEntry);
}
}
export default AnalyticsOutput;