本文整理汇总了Golang中github.com/hashicorp/consul/api.AgentServiceRegistration.ID方法的典型用法代码示例。如果您正苦于以下问题:Golang AgentServiceRegistration.ID方法的具体用法?Golang AgentServiceRegistration.ID怎么用?Golang AgentServiceRegistration.ID使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类github.com/hashicorp/consul/api.AgentServiceRegistration
的用法示例。
在下文中一共展示了AgentServiceRegistration.ID方法的8个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: Register
func (r *ConsulAdapter) Register(service *bridge.Service) error {
registration := new(consulapi.AgentServiceRegistration)
registration.ID = service.ID
registration.Name = service.Name
registration.Port = service.Port
registration.Tags = service.Tags
registration.Address = service.IP
registration.Check = r.buildCheck(service)
if r.servicePrefix != "" {
kv := r.client.KV()
addr := service.IP + ":" + strconv.Itoa(service.Port)
host_path := r.servicePrefix + "/" + "nodes/" + service.ID + "/"
service_path := r.servicePrefix + "/" + "services/" + service.Name + "/" + service.ID + "/"
_, err := kv.Put(&consulapi.KVPair{Key: host_path + "URI", Value: []byte(addr)}, nil)
if err != nil {
return (err)
}
_, err = kv.Put(&consulapi.KVPair{Key: service_path + "URI", Value: []byte(addr)}, nil)
if err != nil {
return (err)
}
for k, v := range service.Attrs {
_, err := kv.Put(&consulapi.KVPair{Key: host_path + k, Value: []byte(v)}, nil)
if err != nil {
return (err)
}
_, err = kv.Put(&consulapi.KVPair{Key: service_path + k, Value: []byte(v)}, nil)
if err != nil {
return (err)
}
}
}
return r.client.Agent().ServiceRegister(registration)
}
示例2: SetService
func SetService(c *cli.Context) {
// Get client
cfg, err := NewAppConfig(c)
if err != nil {
log.Errorf("Failed to get client: %v", err)
return
}
reg := new(api.AgentServiceRegistration)
for _, arg := range append(c.Args().Tail(), c.Args().First()) {
split := strings.SplitN(arg, "=", 2)
switch strings.ToLower(split[0]) {
case "address":
reg.Address = split[1]
case "name":
reg.Name = split[1]
case "id":
reg.ID = split[1]
case "port":
port, _ := strconv.ParseInt(split[1], 10, 32)
reg.Port = int(port)
case "tags":
tags := strings.Split(split[1], ",")
reg.Tags = tags
}
}
err = cfg.client.Agent().ServiceRegister(reg)
if err != nil {
log.Errorf("%v\n", err)
return
}
log.Println("Success")
}
示例3: updateConsulTags
// the types are so close yet SO DIFFERENT
func updateConsulTags(agent *consulapi.Agent, svc *consulapi.AgentService) error {
registration := new(consulapi.AgentServiceRegistration)
registration.Name = svc.Service
registration.ID = svc.ID
registration.Tags = svc.Tags
registration.Port = svc.Port
registration.Address = svc.Address
return agent.ServiceRegister(registration)
}
示例4: Register
func (r *ConsulAdapter) Register(service *bridge.Service) error {
registration := new(consulapi.AgentServiceRegistration)
registration.ID = service.ID
registration.Name = service.Name
registration.Port = service.Port
registration.Tags = service.Tags
registration.Address = service.IP
registration.Checks = r.buildChecks(service)
return r.client.Agent().ServiceRegister(registration)
}
示例5: register
func register() {
registration := new(consulApi.AgentServiceRegistration)
registration.ID = serviceId
registration.Name = serviceName
registration.Port, _ = strconv.Atoi(servicePort)
registration.Tags = serviceTags
registration.Address = serviceIp
// TODO build Check latter
log.Println("ID is: ", registration.ID)
log.Println("Name is: ", registration.Name)
log.Println("Port is: ", registration.Port)
log.Println("Tags is: ", registration.Tags)
log.Println("Address is: ", registration.Address)
consulClient.Agent().ServiceRegister(registration)
}
示例6: Register
func (r *ConsulAdapter) Register(service *bridge.Service) error {
registration := new(consulapi.AgentServiceRegistration)
registration.ID = service.ID
registration.Name = service.Name
registration.Port = service.Port
registration.Tags = service.Tags
registration.Address = service.IP
registration.Check = r.buildCheck(service)
if r.servicePrefix != "" {
kv := r.client.KV()
for k, v := range service.Attrs {
pair := &consulapi.KVPair{Key: r.servicePrefix + "/" + service.ID + "/" + k, Value: []byte(v)}
_, err := kv.Put(pair, nil)
if err != nil {
panic(err)
}
}
}
return r.client.Agent().ServiceRegister(registration)
}
示例7: Register
func (r *Adapter) Register(group *types.ServiceGroup) error {
for _, service := range group.Services {
if r.dryRun {
log.WithFields(log.Fields{
"prefix": "consul",
"ip": group.IP,
"id": service.ID,
"name": service.Name,
"port": service.ExposedPort,
}).Info("[dry-run] Would register service")
continue
}
log.WithFields(log.Fields{
"prefix": "consul",
"ip": group.IP,
"id": service.ID,
"name": service.Name,
"port": service.ExposedPort,
}).Info("Registering service")
registration := new(consulAPI.AgentServiceRegistration)
registration.Address = group.IP
registration.ID = service.ID
registration.Name = service.Name
registration.Tags = service.Tags
registration.Port = service.ExposedPort
err := r.client.Agent().ServiceRegister(registration)
if err != nil {
return err
}
}
return nil
}
示例8:
Expect(checks).To(HaveKeyWithValue(checkID,
&api.AgentCheck{
Node: "0",
CheckID: checkID,
Name: "Service '" + serviceName + "' check",
Status: "passing",
Notes: "",
Output: "",
ServiceID: serviceID,
ServiceName: serviceName,
}))
})
Context("when the service does not have an ID", func() {
BeforeEach(func() {
registration.ID = ""
})
It("registers the check using the service name in the check id", func() {
checks, err := consulClient.Agent().Checks()
Expect(err).NotTo(HaveOccurred())
checkID := "service:" + serviceName
Expect(checks).To(HaveKeyWithValue(checkID,
&api.AgentCheck{
Node: "0",
CheckID: checkID,
Name: "Service '" + serviceName + "' check",
Status: "passing",
Notes: "",
Output: "",
ServiceID: serviceName,