Documentation ¶
Index ¶
- Variables
- func RegisterExecutorApiServer(s *grpc.Server, srv ExecutorApiServer)
- type CancelRuns
- func (*CancelRuns) Descriptor() ([]byte, []int)
- func (m *CancelRuns) GetJobRunIdsToCancel() []*armadaevents.Uuid
- func (m *CancelRuns) Marshal() (dAtA []byte, err error)
- func (m *CancelRuns) MarshalTo(dAtA []byte) (int, error)
- func (m *CancelRuns) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*CancelRuns) ProtoMessage()
- func (m *CancelRuns) Reset()
- func (m *CancelRuns) Size() (n int)
- func (this *CancelRuns) String() string
- func (m *CancelRuns) Unmarshal(dAtA []byte) error
- func (m *CancelRuns) XXX_DiscardUnknown()
- func (m *CancelRuns) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *CancelRuns) XXX_Merge(src proto.Message)
- func (m *CancelRuns) XXX_Size() int
- func (m *CancelRuns) XXX_Unmarshal(b []byte) error
- type EndMarker
- func (*EndMarker) Descriptor() ([]byte, []int)
- func (m *EndMarker) Marshal() (dAtA []byte, err error)
- func (m *EndMarker) MarshalTo(dAtA []byte) (int, error)
- func (m *EndMarker) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*EndMarker) ProtoMessage()
- func (m *EndMarker) Reset()
- func (m *EndMarker) Size() (n int)
- func (this *EndMarker) String() string
- func (m *EndMarker) Unmarshal(dAtA []byte) error
- func (m *EndMarker) XXX_DiscardUnknown()
- func (m *EndMarker) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *EndMarker) XXX_Merge(src proto.Message)
- func (m *EndMarker) XXX_Size() int
- func (m *EndMarker) XXX_Unmarshal(b []byte) error
- type EventList
- func (*EventList) Descriptor() ([]byte, []int)
- func (m *EventList) GetEvents() []*armadaevents.EventSequence
- func (m *EventList) Marshal() (dAtA []byte, err error)
- func (m *EventList) MarshalTo(dAtA []byte) (int, error)
- func (m *EventList) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*EventList) ProtoMessage()
- func (m *EventList) Reset()
- func (m *EventList) Size() (n int)
- func (this *EventList) String() string
- func (m *EventList) Unmarshal(dAtA []byte) error
- func (m *EventList) XXX_DiscardUnknown()
- func (m *EventList) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *EventList) XXX_Merge(src proto.Message)
- func (m *EventList) XXX_Size() int
- func (m *EventList) XXX_Unmarshal(b []byte) error
- type ExecutorApiClient
- type ExecutorApiServer
- type ExecutorApi_LeaseJobRunsClient
- type ExecutorApi_LeaseJobRunsServer
- type JobRunLease
- func (*JobRunLease) Descriptor() ([]byte, []int)
- func (m *JobRunLease) GetGroups() []string
- func (m *JobRunLease) GetJob() *armadaevents.SubmitJob
- func (m *JobRunLease) GetJobRunId() *armadaevents.Uuid
- func (m *JobRunLease) GetJobset() string
- func (m *JobRunLease) GetQueue() string
- func (m *JobRunLease) GetUser() string
- func (m *JobRunLease) Marshal() (dAtA []byte, err error)
- func (m *JobRunLease) MarshalTo(dAtA []byte) (int, error)
- func (m *JobRunLease) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*JobRunLease) ProtoMessage()
- func (m *JobRunLease) Reset()
- func (m *JobRunLease) Size() (n int)
- func (this *JobRunLease) String() string
- func (m *JobRunLease) Unmarshal(dAtA []byte) error
- func (m *JobRunLease) XXX_DiscardUnknown()
- func (m *JobRunLease) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *JobRunLease) XXX_Merge(src proto.Message)
- func (m *JobRunLease) XXX_Size() int
- func (m *JobRunLease) XXX_Unmarshal(b []byte) error
- type LeaseRequest
- func (*LeaseRequest) Descriptor() ([]byte, []int)
- func (m *LeaseRequest) GetExecutorId() string
- func (m *LeaseRequest) GetMinimumJobSize() map[string]resource.Quantity
- func (m *LeaseRequest) GetNodes() []*api.NodeInfo
- func (m *LeaseRequest) GetPool() string
- func (m *LeaseRequest) GetResources() map[string]resource.Quantity
- func (m *LeaseRequest) GetUnassignedJobRunIds() []armadaevents.Uuid
- func (m *LeaseRequest) Marshal() (dAtA []byte, err error)
- func (m *LeaseRequest) MarshalTo(dAtA []byte) (int, error)
- func (m *LeaseRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*LeaseRequest) ProtoMessage()
- func (m *LeaseRequest) Reset()
- func (m *LeaseRequest) Size() (n int)
- func (this *LeaseRequest) String() string
- func (m *LeaseRequest) Unmarshal(dAtA []byte) error
- func (m *LeaseRequest) XXX_DiscardUnknown()
- func (m *LeaseRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *LeaseRequest) XXX_Merge(src proto.Message)
- func (m *LeaseRequest) XXX_Size() int
- func (m *LeaseRequest) XXX_Unmarshal(b []byte) error
- type LeaseStreamMessage
- func (*LeaseStreamMessage) Descriptor() ([]byte, []int)
- func (m *LeaseStreamMessage) GetCancelRuns() *CancelRuns
- func (m *LeaseStreamMessage) GetEnd() *EndMarker
- func (m *LeaseStreamMessage) GetEvent() isLeaseStreamMessage_Event
- func (m *LeaseStreamMessage) GetLease() *JobRunLease
- func (m *LeaseStreamMessage) Marshal() (dAtA []byte, err error)
- func (m *LeaseStreamMessage) MarshalTo(dAtA []byte) (int, error)
- func (m *LeaseStreamMessage) MarshalToSizedBuffer(dAtA []byte) (int, error)
- func (*LeaseStreamMessage) ProtoMessage()
- func (m *LeaseStreamMessage) Reset()
- func (m *LeaseStreamMessage) Size() (n int)
- func (this *LeaseStreamMessage) String() string
- func (m *LeaseStreamMessage) Unmarshal(dAtA []byte) error
- func (m *LeaseStreamMessage) XXX_DiscardUnknown()
- func (m *LeaseStreamMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *LeaseStreamMessage) XXX_Merge(src proto.Message)
- func (*LeaseStreamMessage) XXX_OneofWrappers() []interface{}
- func (m *LeaseStreamMessage) XXX_Size() int
- func (m *LeaseStreamMessage) XXX_Unmarshal(b []byte) error
- type LeaseStreamMessage_CancelRuns
- type LeaseStreamMessage_End
- type LeaseStreamMessage_Lease
- type UnimplementedExecutorApiServer
Constants ¶
This section is empty.
Variables ¶
Functions ¶
func RegisterExecutorApiServer ¶
func RegisterExecutorApiServer(s *grpc.Server, srv ExecutorApiServer)
Types ¶
type CancelRuns ¶
type CancelRuns struct {
JobRunIdsToCancel []*armadaevents.Uuid `protobuf:"bytes,1,rep,name=job_run_ids_to_cancel,json=jobRunIdsToCancel,proto3" json:"jobRunIdsToCancel,omitempty"`
}
indicates that the given job run ids should be cancelled
func (*CancelRuns) Descriptor ¶
func (*CancelRuns) Descriptor() ([]byte, []int)
func (*CancelRuns) GetJobRunIdsToCancel ¶
func (m *CancelRuns) GetJobRunIdsToCancel() []*armadaevents.Uuid
func (*CancelRuns) Marshal ¶
func (m *CancelRuns) Marshal() (dAtA []byte, err error)
func (*CancelRuns) MarshalToSizedBuffer ¶
func (m *CancelRuns) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*CancelRuns) ProtoMessage ¶
func (*CancelRuns) ProtoMessage()
func (*CancelRuns) Reset ¶
func (m *CancelRuns) Reset()
func (*CancelRuns) Size ¶
func (m *CancelRuns) Size() (n int)
func (*CancelRuns) String ¶
func (this *CancelRuns) String() string
func (*CancelRuns) Unmarshal ¶
func (m *CancelRuns) Unmarshal(dAtA []byte) error
func (*CancelRuns) XXX_DiscardUnknown ¶
func (m *CancelRuns) XXX_DiscardUnknown()
func (*CancelRuns) XXX_Marshal ¶
func (m *CancelRuns) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*CancelRuns) XXX_Merge ¶
func (m *CancelRuns) XXX_Merge(src proto.Message)
func (*CancelRuns) XXX_Size ¶
func (m *CancelRuns) XXX_Size() int
func (*CancelRuns) XXX_Unmarshal ¶
func (m *CancelRuns) XXX_Unmarshal(b []byte) error
type EndMarker ¶
type EndMarker struct { }
indicates the end of the lease stream
func (*EndMarker) Descriptor ¶
func (*EndMarker) MarshalToSizedBuffer ¶
func (*EndMarker) ProtoMessage ¶
func (*EndMarker) ProtoMessage()
func (*EndMarker) XXX_DiscardUnknown ¶
func (m *EndMarker) XXX_DiscardUnknown()
func (*EndMarker) XXX_Marshal ¶
func (*EndMarker) XXX_Unmarshal ¶
type EventList ¶
type EventList struct {
Events []*armadaevents.EventSequence `protobuf:"bytes,1,rep,name=events,proto3" json:"events,omitempty"`
}
func (*EventList) Descriptor ¶
func (*EventList) GetEvents ¶
func (m *EventList) GetEvents() []*armadaevents.EventSequence
func (*EventList) MarshalToSizedBuffer ¶
func (*EventList) ProtoMessage ¶
func (*EventList) ProtoMessage()
func (*EventList) XXX_DiscardUnknown ¶
func (m *EventList) XXX_DiscardUnknown()
func (*EventList) XXX_Marshal ¶
func (*EventList) XXX_Unmarshal ¶
type ExecutorApiClient ¶
type ExecutorApiClient interface { // Reports usage information to the scheduler. In return, the scheduler provides: // - a list of job runs that the executor is currently running that should be cancelled (may be empty) // - a list of job runs that the executor is not currently running that should now be scheduler (may be empty) // This call also acts as a signal to the scheduler that the executor is alive and accepting jobs LeaseJobRuns(ctx context.Context, opts ...grpc.CallOption) (ExecutorApi_LeaseJobRunsClient, error) // Reports job run events to the scheduler ReportEvents(ctx context.Context, in *EventList, opts ...grpc.CallOption) (*types.Empty, error) }
ExecutorApiClient is the client API for ExecutorApi service.
For semantics around ctx use and closing/ending streaming RPCs, please refer to https://godoc.org/google.golang.org/grpc#ClientConn.NewStream.
func NewExecutorApiClient ¶
func NewExecutorApiClient(cc *grpc.ClientConn) ExecutorApiClient
type ExecutorApiServer ¶
type ExecutorApiServer interface { // Reports usage information to the scheduler. In return, the scheduler provides: // - a list of job runs that the executor is currently running that should be cancelled (may be empty) // - a list of job runs that the executor is not currently running that should now be scheduler (may be empty) // This call also acts as a signal to the scheduler that the executor is alive and accepting jobs LeaseJobRuns(ExecutorApi_LeaseJobRunsServer) error // Reports job run events to the scheduler ReportEvents(context.Context, *EventList) (*types.Empty, error) }
ExecutorApiServer is the server API for ExecutorApi service.
type ExecutorApi_LeaseJobRunsClient ¶
type ExecutorApi_LeaseJobRunsClient interface { Send(*LeaseRequest) error Recv() (*LeaseStreamMessage, error) grpc.ClientStream }
type ExecutorApi_LeaseJobRunsServer ¶
type ExecutorApi_LeaseJobRunsServer interface { Send(*LeaseStreamMessage) error Recv() (*LeaseRequest, error) grpc.ServerStream }
type JobRunLease ¶
type JobRunLease struct { JobRunId *armadaevents.Uuid `protobuf:"bytes,1,opt,name=job_run_id,json=jobRunId,proto3" json:"jobRunId,omitempty"` Queue string `protobuf:"bytes,2,opt,name=queue,proto3" json:"queue,omitempty"` Jobset string `protobuf:"bytes,3,opt,name=jobset,proto3" json:"jobset,omitempty"` User string `protobuf:"bytes,4,opt,name=user,proto3" json:"user,omitempty"` Groups []string `protobuf:"bytes,5,rep,name=groups,proto3" json:"groups,omitempty"` Job *armadaevents.SubmitJob `protobuf:"bytes,6,opt,name=job,proto3" json:"job,omitempty"` }
indicates that a job run is now leased
func (*JobRunLease) Descriptor ¶
func (*JobRunLease) Descriptor() ([]byte, []int)
func (*JobRunLease) GetGroups ¶
func (m *JobRunLease) GetGroups() []string
func (*JobRunLease) GetJob ¶
func (m *JobRunLease) GetJob() *armadaevents.SubmitJob
func (*JobRunLease) GetJobRunId ¶
func (m *JobRunLease) GetJobRunId() *armadaevents.Uuid
func (*JobRunLease) GetJobset ¶
func (m *JobRunLease) GetJobset() string
func (*JobRunLease) GetQueue ¶
func (m *JobRunLease) GetQueue() string
func (*JobRunLease) GetUser ¶
func (m *JobRunLease) GetUser() string
func (*JobRunLease) Marshal ¶
func (m *JobRunLease) Marshal() (dAtA []byte, err error)
func (*JobRunLease) MarshalToSizedBuffer ¶
func (m *JobRunLease) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*JobRunLease) ProtoMessage ¶
func (*JobRunLease) ProtoMessage()
func (*JobRunLease) Reset ¶
func (m *JobRunLease) Reset()
func (*JobRunLease) Size ¶
func (m *JobRunLease) Size() (n int)
func (*JobRunLease) String ¶
func (this *JobRunLease) String() string
func (*JobRunLease) Unmarshal ¶
func (m *JobRunLease) Unmarshal(dAtA []byte) error
func (*JobRunLease) XXX_DiscardUnknown ¶
func (m *JobRunLease) XXX_DiscardUnknown()
func (*JobRunLease) XXX_Marshal ¶
func (m *JobRunLease) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*JobRunLease) XXX_Merge ¶
func (m *JobRunLease) XXX_Merge(src proto.Message)
func (*JobRunLease) XXX_Size ¶
func (m *JobRunLease) XXX_Size() int
func (*JobRunLease) XXX_Unmarshal ¶
func (m *JobRunLease) XXX_Unmarshal(b []byte) error
type LeaseRequest ¶
type LeaseRequest struct { // Each executor has a unique name associated with it. ExecutorId string `protobuf:"bytes,1,opt,name=executor_id,json=executorId,proto3" json:"executorId,omitempty"` // Nodes are split into pools. This field indicates for which pool jobs are leased. Pool string `protobuf:"bytes,2,opt,name=pool,proto3" json:"pool,omitempty"` // Total resources available for scheduling across all nodes. Resources map[string]resource.Quantity `` /* 149-byte string literal not displayed */ // Jobs submitted to this executor must require at least this amount of resources. MinimumJobSize map[string]resource.Quantity `` /* 181-byte string literal not displayed */ // For each node in the cluster: // - the total allocatable resources on that node, // - the job runs running on those nodes // - any taints and labels on the node. Nodes []*api.NodeInfo `protobuf:"bytes,5,rep,name=nodes,proto3" json:"nodes,omitempty"` // Run Ids of jobs owned by the executor but not currently assigned to a node UnassignedJobRunIds []armadaevents.Uuid `protobuf:"bytes,6,rep,name=unassigned_job_run_ids,json=unassignedJobRunIds,proto3" json:"unassignedJobRunIds"` }
func (*LeaseRequest) Descriptor ¶
func (*LeaseRequest) Descriptor() ([]byte, []int)
func (*LeaseRequest) GetExecutorId ¶
func (m *LeaseRequest) GetExecutorId() string
func (*LeaseRequest) GetMinimumJobSize ¶
func (m *LeaseRequest) GetMinimumJobSize() map[string]resource.Quantity
func (*LeaseRequest) GetNodes ¶
func (m *LeaseRequest) GetNodes() []*api.NodeInfo
func (*LeaseRequest) GetPool ¶
func (m *LeaseRequest) GetPool() string
func (*LeaseRequest) GetResources ¶
func (m *LeaseRequest) GetResources() map[string]resource.Quantity
func (*LeaseRequest) GetUnassignedJobRunIds ¶
func (m *LeaseRequest) GetUnassignedJobRunIds() []armadaevents.Uuid
func (*LeaseRequest) Marshal ¶
func (m *LeaseRequest) Marshal() (dAtA []byte, err error)
func (*LeaseRequest) MarshalToSizedBuffer ¶
func (m *LeaseRequest) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*LeaseRequest) ProtoMessage ¶
func (*LeaseRequest) ProtoMessage()
func (*LeaseRequest) Reset ¶
func (m *LeaseRequest) Reset()
func (*LeaseRequest) Size ¶
func (m *LeaseRequest) Size() (n int)
func (*LeaseRequest) String ¶
func (this *LeaseRequest) String() string
func (*LeaseRequest) Unmarshal ¶
func (m *LeaseRequest) Unmarshal(dAtA []byte) error
func (*LeaseRequest) XXX_DiscardUnknown ¶
func (m *LeaseRequest) XXX_DiscardUnknown()
func (*LeaseRequest) XXX_Marshal ¶
func (m *LeaseRequest) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*LeaseRequest) XXX_Merge ¶
func (m *LeaseRequest) XXX_Merge(src proto.Message)
func (*LeaseRequest) XXX_Size ¶
func (m *LeaseRequest) XXX_Size() int
func (*LeaseRequest) XXX_Unmarshal ¶
func (m *LeaseRequest) XXX_Unmarshal(b []byte) error
type LeaseStreamMessage ¶
type LeaseStreamMessage struct { // Types that are valid to be assigned to Event: // *LeaseStreamMessage_Lease // *LeaseStreamMessage_CancelRuns // *LeaseStreamMessage_End Event isLeaseStreamMessage_Event `protobuf_oneof:"event"` }
func (*LeaseStreamMessage) Descriptor ¶
func (*LeaseStreamMessage) Descriptor() ([]byte, []int)
func (*LeaseStreamMessage) GetCancelRuns ¶
func (m *LeaseStreamMessage) GetCancelRuns() *CancelRuns
func (*LeaseStreamMessage) GetEnd ¶
func (m *LeaseStreamMessage) GetEnd() *EndMarker
func (*LeaseStreamMessage) GetEvent ¶
func (m *LeaseStreamMessage) GetEvent() isLeaseStreamMessage_Event
func (*LeaseStreamMessage) GetLease ¶
func (m *LeaseStreamMessage) GetLease() *JobRunLease
func (*LeaseStreamMessage) Marshal ¶
func (m *LeaseStreamMessage) Marshal() (dAtA []byte, err error)
func (*LeaseStreamMessage) MarshalTo ¶
func (m *LeaseStreamMessage) MarshalTo(dAtA []byte) (int, error)
func (*LeaseStreamMessage) MarshalToSizedBuffer ¶
func (m *LeaseStreamMessage) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*LeaseStreamMessage) ProtoMessage ¶
func (*LeaseStreamMessage) ProtoMessage()
func (*LeaseStreamMessage) Reset ¶
func (m *LeaseStreamMessage) Reset()
func (*LeaseStreamMessage) Size ¶
func (m *LeaseStreamMessage) Size() (n int)
func (*LeaseStreamMessage) String ¶
func (this *LeaseStreamMessage) String() string
func (*LeaseStreamMessage) Unmarshal ¶
func (m *LeaseStreamMessage) Unmarshal(dAtA []byte) error
func (*LeaseStreamMessage) XXX_DiscardUnknown ¶
func (m *LeaseStreamMessage) XXX_DiscardUnknown()
func (*LeaseStreamMessage) XXX_Marshal ¶
func (m *LeaseStreamMessage) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
func (*LeaseStreamMessage) XXX_Merge ¶
func (m *LeaseStreamMessage) XXX_Merge(src proto.Message)
func (*LeaseStreamMessage) XXX_OneofWrappers ¶
func (*LeaseStreamMessage) XXX_OneofWrappers() []interface{}
XXX_OneofWrappers is for the internal use of the proto package.
func (*LeaseStreamMessage) XXX_Size ¶
func (m *LeaseStreamMessage) XXX_Size() int
func (*LeaseStreamMessage) XXX_Unmarshal ¶
func (m *LeaseStreamMessage) XXX_Unmarshal(b []byte) error
type LeaseStreamMessage_CancelRuns ¶
type LeaseStreamMessage_CancelRuns struct {
CancelRuns *CancelRuns `protobuf:"bytes,2,opt,name=cancel_runs,json=cancelRuns,proto3,oneof" json:"cancelRuns,omitempty"`
}
func (*LeaseStreamMessage_CancelRuns) MarshalTo ¶
func (m *LeaseStreamMessage_CancelRuns) MarshalTo(dAtA []byte) (int, error)
func (*LeaseStreamMessage_CancelRuns) MarshalToSizedBuffer ¶
func (m *LeaseStreamMessage_CancelRuns) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*LeaseStreamMessage_CancelRuns) Size ¶
func (m *LeaseStreamMessage_CancelRuns) Size() (n int)
func (*LeaseStreamMessage_CancelRuns) String ¶
func (this *LeaseStreamMessage_CancelRuns) String() string
type LeaseStreamMessage_End ¶
type LeaseStreamMessage_End struct {
End *EndMarker `protobuf:"bytes,3,opt,name=end,proto3,oneof" json:"end,omitempty"`
}
func (*LeaseStreamMessage_End) MarshalTo ¶
func (m *LeaseStreamMessage_End) MarshalTo(dAtA []byte) (int, error)
func (*LeaseStreamMessage_End) MarshalToSizedBuffer ¶
func (m *LeaseStreamMessage_End) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*LeaseStreamMessage_End) Size ¶
func (m *LeaseStreamMessage_End) Size() (n int)
func (*LeaseStreamMessage_End) String ¶
func (this *LeaseStreamMessage_End) String() string
type LeaseStreamMessage_Lease ¶
type LeaseStreamMessage_Lease struct {
Lease *JobRunLease `protobuf:"bytes,1,opt,name=lease,proto3,oneof" json:"lease,omitempty"`
}
func (*LeaseStreamMessage_Lease) MarshalTo ¶
func (m *LeaseStreamMessage_Lease) MarshalTo(dAtA []byte) (int, error)
func (*LeaseStreamMessage_Lease) MarshalToSizedBuffer ¶
func (m *LeaseStreamMessage_Lease) MarshalToSizedBuffer(dAtA []byte) (int, error)
func (*LeaseStreamMessage_Lease) Size ¶
func (m *LeaseStreamMessage_Lease) Size() (n int)
func (*LeaseStreamMessage_Lease) String ¶
func (this *LeaseStreamMessage_Lease) String() string
type UnimplementedExecutorApiServer ¶
type UnimplementedExecutorApiServer struct { }
UnimplementedExecutorApiServer can be embedded to have forward compatible implementations.
func (*UnimplementedExecutorApiServer) LeaseJobRuns ¶
func (*UnimplementedExecutorApiServer) LeaseJobRuns(srv ExecutorApi_LeaseJobRunsServer) error
func (*UnimplementedExecutorApiServer) ReportEvents ¶
Click to show internal directories.
Click to hide internal directories.