-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathdoc.go
More file actions
38 lines (38 loc) · 1.23 KB
/
doc.go
File metadata and controls
38 lines (38 loc) · 1.23 KB
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
// Package awsmultienicontroller is a Kubernetes controller that automatically creates
// and attaches AWS Elastic Network Interfaces (ENIs) to nodes based on node labels.
// Version: v1.3.4
//
// This package can be used in two ways:
//
// 1. As a standalone Kubernetes controller (see cmd/main.go)
// 2. As a library for managing AWS ENIs programmatically (see pkg/lib)
//
// For library usage, import the lib package:
//
// import "github.com/johnlam90/aws-multi-eni-controller/pkg/lib"
//
// Then use the ENIManager to create, attach, detach, and delete ENIs:
//
// // Create a logger
// zapLog, _ := zap.NewDevelopment()
// logger := zapr.NewLogger(zapLog)
//
// // Create an ENI manager
// eniManager, err := lib.NewENIManager(ctx, "us-east-1", logger)
// if err != nil {
// log.Fatalf("Failed to create ENI manager: %v", err)
// }
//
// // Create an ENI
// options := lib.ENIOptions{
// SubnetID: "subnet-12345678",
// SecurityGroupIDs: []string{"sg-12345678"},
// Description: "Example ENI",
// DeviceIndex: 1,
// DeleteOnTermination: true,
// }
//
// eniID, err := eniManager.CreateENI(ctx, options)
//
// For more information, see the documentation in pkg/lib/README.md.
package awsmultienicontroller