Documentation
¶
Index ¶
- type AgentInfo
- type AgentSpec
- type AuditConfig
- type AuditInfo
- type AuditLogAbstract
- type AuditLogDetail
- type AuditSpec
- type CveRule
- type Database
- type DatabaseDetail
- type DatabaseRule
- type DatabaseRuleGroup
- type DatabaseSpec
- type InstanceAbstract
- type InstanceRelation
- type InstanceSpec
- type MaskRuleDetail
- type MaskRuleSpec
- type ReportInfo
- type Rule
- type RuleAbstract
- type RuleDetail
- type RuleGroup
- type RuleGroupList
- type RuleLogic
- type RuleSpec
- type TaskInfo
- type TaskOpts
- type TaskSpec
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AgentInfo ¶
type AgentInfo struct {
/* agentID (Optional) */
AgnetId string `json:"agnetId"`
/* 主机ID (Optional) */
HostId string `json:"hostId"`
/* 操作系统类型 Windows Server | CentOS (Optional) */
OsType string `json:"osType"`
/* 主机名称 (Optional) */
HostName string `json:"hostName"`
/* agent运行状态 0 安装中 1 运行中 2 离线 3 已卸载 4 待配置 5 安装失败(ifrit安装失败,需要重试或者手动安装) (Optional) */
AgentStatus int `json:"agentStatus"`
/* ifrit客户端的状态 0 安装成功 1 离线状态 (Optional) */
IfritStatus int `json:"ifritStatus"`
/* agent审计的数据库数量 (Optional) */
AuditCount int `json:"auditCount"`
/* 是否限制CPU/MEM
0 否
1 是 此时cpuLimit/memLimit为必填项
(Optional) */
LimitStatus int `json:"limitStatus"`
/* CPU限制,单位% (Optional) */
CpuLimit float32 `json:"cpuLimit"`
/* 内存限制,单位% (Optional) */
MemLimit float32 `json:"memLimit"`
/* CPU实时占比,单位% (Optional) */
CpuPercent float32 `json:"cpuPercent"`
/* 内存实时占比,单位% (Optional) */
MemPercert float32 `json:"memPercert"`
/* 内存总量,单位MB (Optional) */
MemTotal int `json:"memTotal"`
/* CPU核数,单位核数 (Optional) */
CpuTotal int `json:"cpuTotal"`
/* agent安装时间 (Optional) */
InstallTime string `json:"installTime"`
/* 最后一次上报数据时间 (Optional) */
LastUpdateTime string `json:"lastUpdateTime"`
}
type AgentSpec ¶
type AgentSpec struct {
/* 主机ID (Optional) */
HostId []string `json:"hostId"`
/* 是否限制CPU/MEM
0 否
1 是 此时cpuLimit/memLimit为必填项
(Optional) */
LimitStatus *int `json:"limitStatus"`
/* CPU占用百分比限制,[1,50]单位% (Optional) */
CpuLimit *float32 `json:"cpuLimit"`
/* 内存占用限制,[1,50]单位% (Optional) */
MemLimit *float32 `json:"memLimit"`
}
type AuditConfig ¶
type AuditInfo ¶
type AuditInfo struct {
/* 数据库名称 (Optional) */
DbName string `json:"dbName"`
/* 数据库类型:
0->Oracle
1->SQLServer
2->DB2
3->MySQL
4->Cache
5->Sybase
6->DM7
7->Informix
9->人大金仓
10->Teradata
11->Postgresql
12->Gbase
16->Hive
17->MongoDB
(Optional) */
DbType int `json:"dbType"`
/* 数据库地址 (Optional) */
DbAddress string `json:"dbAddress"`
/* 数据库端口 (Optional) */
DbPort string `json:"dbPort"`
/* 数据库审计实例ID (Optional) */
InsId string `json:"insId"`
/* 数据库审计实例名称 (Optional) */
InsName string `json:"insName"`
/* 数据库审计实例地址 (Optional) */
InsAddress string `json:"insAddress"`
/* 数据库添加时间 (Optional) */
CreateTime string `json:"createTime"`
/* 网卡接口列表 (Optional) */
NetCards []string `json:"netCards"`
}
type AuditLogAbstract ¶
type AuditLogAbstract struct {
/* 日志ID (Optional) */
LogId string `json:"logId"`
/* 操作类型,如SELECT (Optional) */
Operation string `json:"operation"`
/* 捕获时间 (Optional) */
CaptureTime string `json:"captureTime"`
/* 客户端IP (Optional) */
ClientIp string `json:"clientIp"`
/* 风险级别: 0->无风险,1->低风险,2->中风险,3->高风险 (Optional) */
RiskLevel int `json:"riskLevel"`
/* 执行时间,如5μs,3ms (Optional) */
Duration string `json:"duration"`
/* 执行结果:
0:默认
1:未知
2:登录成功
3:登录失败
4:超时
5:执行成功
6:执行失败
7:语句不合法
8:注销
9:会话开始
10:阻断
11:会话断开
(Optional) */
ExecuteResult int `json:"executeResult"`
}
type AuditLogDetail ¶
type AuditLogDetail struct {
/* 客户端IP (Optional) */
ClientIp string `json:"clientIp"`
/* 客户端IP名称 (Optional) */
ClientIpName string `json:"clientIpName"`
/* 客户端端口 (Optional) */
ClientPort int `json:"clientPort"`
/* 客户端MAC (Optional) */
ClientMac string `json:"clientMac"`
/* 客户端主机名称 (Optional) */
ClientHostName string `json:"clientHostName"`
/* 客户端主机MAC地址 (Optional) */
ClientMacAddr string `json:"clientMacAddr"`
/* 操作的数据库名称 (Optional) */
DbName string `json:"dbName"`
/* 操作的数据库表名称 (Optional) */
TableName string `json:"tableName"`
/* 数据库用户名 (Optional) */
DbUser string `json:"dbUser"`
/* 数据库工具 (Optional) */
DbTool string `json:"dbTool"`
/* 查询语句标识 (Optional) */
SqlIdentity string `json:"sqlIdentity"`
/* 操作类型 (Optional) */
SqlType string `json:"sqlType"`
/* 操作对象 (Optional) */
Target string `json:"target"`
/* 影响行数 (Optional) */
AffectLines int `json:"affectLines"`
/* 执行时间,如5μs,3ms (Optional) */
Duration string `json:"duration"`
/* 捕获时间 (Optional) */
CaptureTime string `json:"captureTime"`
/* SQL详细语句 (Optional) */
SqlQuery string `json:"sqlQuery"`
/* SQL语句执行结果 (Optional) */
SqlResult string `json:"sqlResult"`
/* 风险级别: 0->无风险,1->低风险,2->中风险,3->高风险 (Optional) */
RiskLevel int `json:"riskLevel"`
/* 命中规则ID (Optional) */
RiskRuleId string `json:"riskRuleId"`
/* 命中规则名称 (Optional) */
RiskRuleName string `json:"riskRuleName"`
/* 命中规则类型 (Optional) */
RiskRuleType string `json:"riskRuleType"`
/* 命中规则所属规则组名称 (Optional) */
RiskRuleGroup string `json:"riskRuleGroup"`
/* 命中规则详细描述 (Optional) */
RiskDesc string `json:"riskDesc"`
/* 执行结果:
0:默认
1:未知
2:登录成功
3:登录失败
4:超时
5:执行成功
6:执行失败
7:语句不合法
8:注销
9:会话开始
10:阻断
11:会话断开 (Optional) */
ExecuteResult int `json:"executeResult"`
}
type Database ¶
type Database struct {
/* 数据库ID (Optional) */
DbId string `json:"dbId"`
/* 数据库名称,长度限制32字节,允许英文字母,数字,下划线,中划线和中文 (Optional) */
DbName string `json:"dbName"`
/* 数据库的描述,长度限制128字节 (Optional) */
DbDesc string `json:"dbDesc"`
/* 数据库端口 (Optional) */
DbPort int `json:"dbPort"`
/* 数据库版本 (Optional) */
DbVersion string `json:"dbVersion"`
/* 数据库类型:
0->Oracle
1->SQLServer
2->DB2
3->MySQL
4->Cache
5->Sybase
6->DM7
7->Informix
9->人大金仓
10->Teradata
11->Postgresql
12->Gbase
16->Hive
17->MongoDB
(Optional) */
DbType int `json:"dbType"`
/* 审计端口 (Optional) */
AgentPort int `json:"agentPort"`
/* 数据库地址,如 ip:port 或 域名:port (Optional) */
DbAddr string `json:"dbAddr"`
/* 数据库启用状态, 0 停用 1 运行中 2 创建中 3 创建失败 (Optional) */
State int `json:"state"`
}
type DatabaseDetail ¶
type DatabaseDetail struct {
/* 京东云数据库引擎ID, dbaudit-aabbccddeeffgg, 全局唯一 (Optional) */
DbId string `json:"dbId"`
/* 数据库名称,库名 (Optional) */
DbName string `json:"dbName"`
/* 数据库地址, 可以是IP或域名 (Optional) */
DbAddr string `json:"dbAddr"`
/* 数据库端口 (Optional) */
DbPort int `json:"dbPort"`
/* 数据库类型:
0->Oracle
1->SQLServer
2->DB2
3->MySQL
4->Cache
5->Sybase
6->DM7
7->Informix
9->人大金仓
10->Teradata
11->Postgresql
12->Gbase
16->Hive
17->MongoDB
(Optional) */
DbType int `json:"dbType"`
/* 数据库版本 (Optional) */
DbVersion string `json:"dbVersion"`
/* 数据库的描述 (Optional) */
DbDesc string `json:"dbDesc"`
/* 用户名,SQLServer获取登录信息使用 (Optional) */
Username string `json:"username"`
/* 密码,SQLServer获取登录信息使用 (Optional) */
Password string `json:"password"`
/* 是否对数据进行掩码 (Optional) */
DataMask bool `json:"dataMask"`
/* 是否对响应进行审计 (Optional) */
AuditResponse bool `json:"auditResponse"`
/* 数据库启用状态, 0 停用 1 运行中 2 创建中 3 创建失败 (Optional) */
State int `json:"state"`
/* 数据库引用的规则组 (Optional) */
RuleGroups []DatabaseRuleGroup `json:"ruleGroups"`
}
type DatabaseRule ¶
type DatabaseRuleGroup ¶
type DatabaseRuleGroup struct {
/* 规则组ID (Optional) */
RuleGroupId string `json:"ruleGroupId"`
/* 规则组名称 (Optional) */
RuleGroupName string `json:"ruleGroupName"`
/* 规则组内的所有规则 (Optional) */
DatabaseRule []DatabaseRule `json:"databaseRule"`
}
type DatabaseSpec ¶
type DatabaseSpec struct {
/* 数据库名称,库名,长度限制32字节,允许英文字母,数字,下划线,中划线和中文 (Optional) */
DbName *string `json:"dbName"`
/* 数据库地址, 可以是IP或域名,支持IPv6 (Optional) */
DbAddr *string `json:"dbAddr"`
/* 数据库端口 (Optional) */
DbPort *int `json:"dbPort"`
/* 数据库类型:
0->Oracle
1->SQLServer
2->DB2
3->MySQL
4->Cache
5->Sybase
6->DM7
7->Informix
9->人大金仓
10->Teradata
11->Postgresql
12->Gbase
16->Hive
17->MongoDB
(Optional) */
DbType *int `json:"dbType"`
/* 数据库版本 (Optional) */
DbVersion *string `json:"dbVersion"`
/* 用户名,SQLServer获取登录信息使用 (Optional) */
Username *string `json:"username"`
/* 密码,SQLServer获取登录信息使用 (Optional) */
Password *string `json:"password"`
/* 数据库的描述 (Optional) */
DbDesc *string `json:"dbDesc"`
/* 是否对数据进行掩码 (Optional) */
DataMask *bool `json:"dataMask"`
/* 是否对响应进行审计 (Optional) */
AuditResponse *bool `json:"auditResponse"`
}
type InstanceAbstract ¶
type InstanceAbstract struct {
/* PIN (Optional) */
Pin string `json:"pin"`
/* 实例ID (Optional) */
InsId string `json:"insId"`
/* 实例名称,长度限制32字节,允许英文字母,数字,下划线,中划线和中文 (Optional) */
InsName string `json:"insName"`
/* 实例描述,长度限制128字节 (Optional) */
InsDesc string `json:"insDesc"`
/* VPC-ID (Optional) */
VpcId string `json:"vpcId"`
/* Subnet-ID (Optional) */
SubnetId string `json:"subnetId"`
/* VPC内地址 (Optional) */
IpAddr string `json:"ipAddr"`
/* VPC内ipv6地址 (Optional) */
Ipv6Addr string `json:"ipv6Addr"`
/* 实例规格: basic:标准版 professional:企业版 enterprise:增强版 ultimate:旗舰版 (Optional) */
InsType string `json:"insType"`
/* 实例状态: 1->创建中, 2->运行中, 3->已停止, 4->已欠费停服, 5->已删除, 6->异常 (Optional) */
State int `json:"state"`
/* 计费到期时间 (Optional) */
ExpireTime string `json:"expireTime"`
/* 计费类型 1:按配置 2: 按用量 3:包年包月 4:一次性 (Optional) */
BillingType int `json:"billingType"`
/* 可用区 (Optional) */
InsZone string `json:"insZone"`
/* 地域 (Optional) */
InsRegion string `json:"insRegion"`
/* 域名 (Optional) */
InsDomain string `json:"insDomain"`
/* 数据库限额 (Optional) */
DbLimit int `json:"dbLimit"`
}
type InstanceRelation ¶
type InstanceSpec ¶
type InstanceSpec struct {
/* 订单类型:新购-NEW,变配-RESIZE_FORMULA,暂只支持新购 (Optional) */
OrderType string `json:"orderType"`
/* 实例名称,长度限制32字节,允许英文字母,数字,下划线,中划线和中文 (Optional) */
InsName string `json:"insName"`
/* 实例描述,长度限制128字节 (Optional) */
InsDesc string `json:"insDesc"`
/* 可用区 (Optional) */
InsZone string `json:"insZone"`
/* 实例规格: basic:标准版 professional:企业版 enterprise:增强版 ultimate:旗舰版 (Optional) */
InsType string `json:"insType"`
/* 私有网络Id(VPCId) (Optional) */
VpcId string `json:"vpcId"`
/* 私有网络子网Id(SubNetId) (Optional) */
SubnetId string `json:"subnetId"`
/* 资源计费类型(CONFIG-按配置,FLOW-按用量,MONTHLY-包年包月,ONCE-按次付费,暂只支持包年包月 (Optional) */
ChargeMode string `json:"chargeMode"`
/* 购买时长类型, 新购时必传.
MONTH: 按月购买
YEAR: 按年购买
(Optional) */
TimeUnit string `json:"timeUnit"`
/* 购买时长, 新购时必传.
timeUnit = MONTH 时, 可取值 1-9
timeUnit = YEAR 时, 可取值 1-3
(Optional) */
TimeSpan int `json:"timeSpan"`
/* 购买数量 (Optional) */
Quantity int `json:"quantity"`
/* 商品规格参数,支付确认页面显示商品详情用 (Optional) */
ExtraInfo string `json:"extraInfo"`
/* 计费配置项 (Optional) */
Formula string `json:"formula"`
/* 打包标识 (Optional) */
TaskId string `json:"taskId"`
/* OPEN-开通自动续费,CLOSE-关闭自动续费,默认关闭 (Optional) */
AutoRenew string `json:"autoRenew"`
/* 自动续费时间单位(MONTH-月,YEAR-年) (Optional) */
RenewTimeUnit string `json:"renewTimeUnit"`
/* 自动续费时长
1. renewTimeUnit=MONTH 时,取值范围 [1,9]
2. renewTimeUnit=YEAR 时,取值范围 [1,3]
(Optional) */
RenewTimeSpan int `json:"renewTimeSpan"`
/* 跳转页面 (Optional) */
ReturnUrl string `json:"returnUrl"`
/* ServiceCode,用作计费使用 (Optional) */
ServiceCode string `json:"serviceCode"`
/* appCode,用作计费使用 (Optional) */
AppCode string `json:"appCode"`
/* ydCode, 云鼎业务线用来关联订单 (Optional) */
YdCode string `json:"ydCode"`
}
type MaskRuleDetail ¶
type MaskRuleDetail struct {
/* 遮蔽规则ID (Optional) */
MaskRuleId string `json:"maskRuleId"`
/* 遮蔽规则ID (Optional) */
InsId string `json:"insId"`
/* 遮蔽规则ID (Optional) */
DbId string `json:"dbId"`
/* 遮蔽规则名称,长度限制32字节 (Optional) */
MaskRuleName string `json:"maskRuleName"`
/* 遮蔽规则内容 (Optional) */
MaskRuleContent string `json:"maskRuleContent"`
/* 遮蔽结果 (Optional) */
MaskRuleResult string `json:"maskRuleResult"`
/* 遮蔽规则启用状态 (Optional) */
Enabled bool `json:"enabled"`
}
type MaskRuleSpec ¶
type ReportInfo ¶
type ReportInfo struct {
/* 报表ID (Optional) */
ReportId string `json:"reportId"`
/* 任务ID (Optional) */
TaskId string `json:"taskId"`
/* 任务报表(base64,pdf) (Optional) */
ReportContent string `json:"reportContent"`
/* 任务执行时间 (Optional) */
ExecTime string `json:"execTime"`
/* 任务执行状态(0 执行中 1 成功) (Optional) */
ReportState int `json:"reportState"`
/* 任务完成时间 (Optional) */
CompleteTime string `json:"completeTime"`
/* 报表统计开始时间 (Optional) */
StartTime string `json:"startTime"`
/* 报表统计结束时间 (Optional) */
EndTime string `json:"endTime"`
}
type Rule ¶
type Rule struct {
/* 规则Id (Optional) */
RuleId *string `json:"ruleId"`
/* 规则名称,长度限制32字节 (Optional) */
RuleName *string `json:"ruleName"`
/* 风险级别: 0->无风险,1->低风险,2->中风险,3->高风险,4->致命风险 (Optional) */
RiskLevel *int `json:"riskLevel"`
/* 规则描述,长度限制128字节 (Optional) */
RuleDesc *string `json:"ruleDesc"`
/* 是否可被编辑 (Optional) */
Editable *bool `json:"editable"`
/* 规则状态(启用/禁用) (Optional) */
Status *bool `json:"status"`
/* (Optional) */
ClientIpRule *RuleLogic `json:"clientIpRule"`
/* (Optional) */
ClientToolRule *RuleLogic `json:"clientToolRule"`
/* (Optional) */
ClientOsRule *RuleLogic `json:"clientOsRule"`
/* (Optional) */
ClientOsHostRule *RuleLogic `json:"clientOsHostRule"`
/* (Optional) */
SqlLineRule *RuleLogic `json:"sqlLineRule"`
/* (Optional) */
KeywordRule *RuleLogic `json:"keywordRule"`
/* (Optional) */
SqlRegexRule *RuleLogic `json:"sqlRegexRule"`
/* (Optional) */
PrivilegeOperateRule *RuleLogic `json:"privilegeOperateRule"`
/* (Optional) */
OperateTypeRule *RuleLogic `json:"operateTypeRule"`
/* (Optional) */
TableGroupRule *RuleLogic `json:"tableGroupRule"`
/* (Optional) */
ColumnRule *RuleLogic `json:"columnRule"`
/* (Optional) */
DbAndSchemaRule *RuleLogic `json:"dbAndSchemaRule"`
/* (Optional) */
GoalTableRule *RuleLogic `json:"goalTableRule"`
/* (Optional) */
RespondTimeRule *RuleLogic `json:"respondTimeRule"`
/* (Optional) */
InfluenceRowRule *RuleLogic `json:"influenceRowRule"`
/* (Optional) */
AuthenticationRule *RuleLogic `json:"authenticationRule"`
/* (Optional) */
PatternGroupRule *RuleLogic `json:"patternGroupRule"`
/* (Optional) */
DbuserRule *RuleLogic `json:"dbuserRule"`
/* (Optional) */
CveRule *CveRule `json:"cveRule"`
}
type RuleAbstract ¶
type RuleDetail ¶
type RuleDetail struct {
/* 规则Id (Optional) */
RuleId string `json:"ruleId"`
/* 规则名称 (Optional) */
RuleName string `json:"ruleName"`
/* 规则类型: 1->自定义,0->内置 (Optional) */
RuleType int `json:"ruleType"`
/* 风险级别: 0->无风险,1->低风险,2->中风险,3->高风险 (Optional) */
RiskLevel int `json:"riskLevel"`
/* 规则定义正则表达式 (Optional) */
RuleContent string `json:"ruleContent"`
/* 规则描述 (Optional) */
RuleDesc string `json:"ruleDesc"`
/* 是否可被编辑(内置规则禁止编辑) (Optional) */
Editable bool `json:"editable"`
}
type RuleGroup ¶
type RuleGroup struct {
/* 规则组ID(新建规则组时不需要传递此值) (Optional) */
RuleGroupId *string `json:"ruleGroupId"`
/* 规则组名称 (Optional) */
RuleGroupName *string `json:"ruleGroupName"`
/* 数据库用户是否区分大小写 (Optional) */
DbUserCase *bool `json:"dbUserCase"`
/* 操作系统用户是否区分大小写 (Optional) */
OsUserCase *bool `json:"osUserCase"`
/* 客户端程序是否区分大小写 (Optional) */
ProgramCase *bool `json:"programCase"`
/* 规则组是否启用 (Optional) */
Enabled *bool `json:"enabled"`
/* 标识从哪个规则组复制而来 (Optional) */
CopyFromId *int `json:"copyFromId"`
}
type RuleGroupList ¶
type RuleSpec ¶
type RuleSpec struct {
/* 规则名称,长度限制32字节 (Optional) */
RuleName string `json:"ruleName"`
/* 风险级别: 0->无风险,1->低风险,2->中风险,3->高风险 (Optional) */
RiskLevel int `json:"riskLevel"`
/* 规则定义-正则表达式 (Optional) */
RuleContent string `json:"ruleContent"`
/* 规则描述,长度限制128字节 (Optional) */
RuleDesc string `json:"ruleDesc"`
}
type TaskInfo ¶
type TaskInfo struct {
/* 报表任务ID (Optional) */
TaskId string `json:"taskId"`
/* 报表任务名称,长度限制32字节,允许英文字母,数字,下划线,中划线和中文 (Optional) */
TaskName string `json:"taskName"`
/* 报表任务描述,长度限制128字节 (Optional) */
TaskDesc string `json:"taskDesc"`
/* 报表任务状态(0 停止 1 运行中 2 一次性任务) (Optional) */
TaskState int `json:"taskState"`
/* 数据库审计实例ID (Optional) */
InsId string `json:"insId"`
/* 审计数据库ID(默认为空,代表全部数据据库) (Optional) */
DbId string `json:"dbId"`
/* 0,1,2,3,4,5,6,7,8(0:立即实行,1-7为每周特定日期执行,8为每天执行) (Optional) */
ExecDate int `json:"execDate"`
/* 报表创建时间 (Optional) */
CreateTime string `json:"createTime"`
}
type TaskSpec ¶
type TaskSpec struct {
/* 报表任务名称,长度限制32字节,允许英文字母,数字,下划线,中划线和中文 (Optional) */
TaskName *string `json:"taskName"`
/* 报表任务描述,长度限制128字节 (Optional) */
TaskDesc *string `json:"taskDesc"`
/* 数据库审计实例ID (Optional) */
InsId *string `json:"insId"`
/* 审计数据库ID(默认为空,代表全部数据据库) (Optional) */
DbId *string `json:"dbId"`
/* 0,1,2,3,4,5,6,7,8(0:立即实行,1-7为每周特定日期执行,8为每天执行) (Optional) */
ExecDate *int `json:"execDate"`
/* 报表统计开始时间(execDate =0立即执行时必传) (Optional) */
StartTime *string `json:"startTime"`
/* 报表统计结束时间(execDate =0立即执行时必传) (Optional) */
EndTime *string `json:"endTime"`
}
Source Files
¶
- AgentInfo.go
- AgentSpec.go
- AuditConfig.go
- AuditInfo.go
- AuditLogAbstract.go
- AuditLogDetail.go
- AuditSpec.go
- CveRule.go
- Database.go
- DatabaseDetail.go
- DatabaseRule.go
- DatabaseRuleGroup.go
- DatabaseSpec.go
- InstanceAbstract.go
- InstanceRelation.go
- InstanceSpec.go
- MaskRuleDetail.go
- MaskRuleSpec.go
- ReportInfo.go
- Rule.go
- RuleAbstract.go
- RuleDetail.go
- RuleGroup.go
- RuleGroupList.go
- RuleLogic.go
- RuleSpec.go
- TaskInfo.go
- TaskOpts.go
- TaskSpec.go
Click to show internal directories.
Click to hide internal directories.