-
Notifications
You must be signed in to change notification settings - Fork 65
/
types.ts
53 lines (49 loc) · 1.62 KB
/
types.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
42
43
44
45
46
47
48
49
50
51
52
53
/*
* Licensed to Elasticsearch B.V. under one or more contributor
* license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright
* ownership. Elasticsearch B.V. licenses this file to you under
* the Apache License, Version 2.0 (the "License"); you may
* not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/
import {
IndicesPrivileges,
ApplicationPrivileges
} from '@security/_types/Privileges'
import { TransientMetadataConfig } from '@security/_types/TransientMetadataConfig'
import { Dictionary } from '@spec_utils/Dictionary'
import { Metadata } from '@_types/common'
import { Script } from '@_types/Scripting'
export class Role {
cluster: string[]
indices: IndicesPrivileges[]
metadata: Metadata
run_as: string[]
transient_metadata: TransientMetadataConfig
applications: ApplicationPrivileges[]
role_templates?: RoleTemplate[]
/**
* @availability stack since=8.0.0
* @availability serverless
*/
global?: Dictionary<string, Dictionary<string, Dictionary<string, string[]>>>
}
export enum TemplateFormat {
string = 0,
json = 1
}
// ES: TemplateRoleName
export class RoleTemplate {
format?: TemplateFormat
template: Script
}