forked from gambol99/go-marathon
/
config.go
59 lines (51 loc) · 1.59 KB
/
config.go
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
54
55
56
57
58
59
/*
Copyright 2014 Rohith All rights reserved.
Licensed 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.
*/
package marathon
import (
"io"
"io/ioutil"
)
// EventsTransport describes which transport should be used to deliver Marathon events
type EventsTransport int
// Config holds the settings and options for the client
type Config struct {
// the url for marathon
URL string
// events transport: EventsTransportCallback or EventsTransportSSE
EventsTransport EventsTransport
// event handler port
EventsPort int
// the interface we should be listening on for events
EventsInterface string
// the timeout for requests
RequestTimeout int
// http basic auth
HTTPBasicAuthUser string
// http basic password
HTTPBasicPassword string
// custom callback url
CallbackURL string
// the output for debug log messages
LogOutput io.Writer
}
// NewDefaultConfig create a default client config
func NewDefaultConfig() Config {
return Config{
URL: "http://127.0.0.1:8080",
EventsTransport: EventsTransportCallback,
EventsPort: 10001,
EventsInterface: "eth0",
RequestTimeout: 5,
LogOutput: ioutil.Discard,
}
}