mirror of
				https://github.com/traefik/traefik.git
				synced 2025-10-31 00:11:38 +01:00 
			
		
		
		
	* add ecs provider * add ecs docs * fix test after rebase * add provider icon * add missing addProvider call * Fix for review * Fix documentation * Fix for review * Fix documentation * fix ctx usage * autoDiscoverClusters setDefaults false * Fix for review * review: doc. * Fix for review: add ctx in backoff retry * review: linter. Co-authored-by: Michael <michael.matur@gmail.com> Co-authored-by: romain <romain@containo.us> Co-authored-by: Fernandez Ludovic <ludovic@containo.us>
		
			
				
	
	
		
			80 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
			
		
		
	
	
			80 lines
		
	
	
		
			1.4 KiB
		
	
	
	
		
			Go
		
	
	
	
	
	
| package ecs
 | |
| 
 | |
| import "github.com/aws/aws-sdk-go/service/ecs"
 | |
| 
 | |
| func instance(ops ...func(*ecsInstance)) ecsInstance {
 | |
| 	e := &ecsInstance{
 | |
| 		containerDefinition: &ecs.ContainerDefinition{},
 | |
| 	}
 | |
| 
 | |
| 	for _, op := range ops {
 | |
| 		op(e)
 | |
| 	}
 | |
| 
 | |
| 	return *e
 | |
| }
 | |
| 
 | |
| func name(name string) func(*ecsInstance) {
 | |
| 	return func(e *ecsInstance) {
 | |
| 		e.Name = name
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func id(id string) func(*ecsInstance) {
 | |
| 	return func(e *ecsInstance) {
 | |
| 		e.ID = id
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func iMachine(opts ...func(*machine)) func(*ecsInstance) {
 | |
| 	return func(e *ecsInstance) {
 | |
| 		e.machine = &machine{}
 | |
| 
 | |
| 		for _, opt := range opts {
 | |
| 			opt(e.machine)
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func mState(state string) func(*machine) {
 | |
| 	return func(m *machine) {
 | |
| 		m.state = state
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func mPrivateIP(ip string) func(*machine) {
 | |
| 	return func(m *machine) {
 | |
| 		m.privateIP = ip
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func mHealthStatus(status string) func(*machine) {
 | |
| 	return func(m *machine) {
 | |
| 		m.healthStatus = status
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func mPorts(opts ...func(*portMapping)) func(*machine) {
 | |
| 	return func(m *machine) {
 | |
| 		for _, opt := range opts {
 | |
| 			p := &portMapping{}
 | |
| 			opt(p)
 | |
| 			m.ports = append(m.ports, *p)
 | |
| 		}
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func mPort(containerPort, hostPort int32, protocol string) func(*portMapping) {
 | |
| 	return func(pm *portMapping) {
 | |
| 		pm.containerPort = int64(containerPort)
 | |
| 		pm.hostPort = int64(hostPort)
 | |
| 		pm.protocol = protocol
 | |
| 	}
 | |
| }
 | |
| 
 | |
| func labels(labels map[string]string) func(*ecsInstance) {
 | |
| 	return func(c *ecsInstance) {
 | |
| 		c.Labels = labels
 | |
| 	}
 | |
| }
 |