resource

package
v0.1.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 11, 2022 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CreateEksCluster

func CreateEksCluster(region string, vpcId string, eksCluster EKSCluster) error

func CreateIAMRole

func CreateIAMRole(region string, iamRole IAMRole) error

func CreateIAMRoleWithMorePolicies

func CreateIAMRoleWithMorePolicies(region string, iamRole IAMRole, policies []IAMPolicy) (string, error)

func CreateNodeGroup

func CreateNodeGroup(region string, clusterName string, nodeGroup NodeGroup, nodeRoleArn string) error

func CreateSecurityGroup

func CreateSecurityGroup(ec2Client *ec2.EC2, securityGroup SecurityGroup, vpcId string) (string, error)

func MinikubeExec

func MinikubeExec(arg ...string) (string, error)

Types

type EKSCluster

type EKSCluster struct {
	ClusterName string `json:"clusterName" yaml:"clusterName"`
	// The Amazon Resource Name (ARN) of the IAM role that provides permissions
	// for the Kubernetes control plane to make calls to Amazon Web Services API
	// operations on your behalf. For more information, see Amazon EKS Service IAM
	// Role (https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html)
	// in the Amazon EKS User Guide.
	ControlPlaneRole IAMRole `json:"controlPlaneRole" yaml:"controlPlaneRole"`
	// See https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html
	SecurityGroups []SecurityGroup `json:"securityGroups" yaml:"securityGroups"`
	InstanceRole   IAMRole         `json:"instanceRole" yaml:"instanceRole"`
}

type IAMPolicy

type IAMPolicy struct {
	Name           string `json:"name" yaml:"name"`
	PolicyDocument string `json:"policyDocument" yaml:"policyDocument"`
}

type IAMRole

type IAMRole struct {
	Name string `json:"name" yaml:"name"`
	// The trust relationship policy document that grants an entity permission to assume the role.
	AssumeRolePolicyDocument string      `json:"assumeRolePolicyDocument" yaml:"assumeRolePolicyDocument"`
	Policies                 []IAMPolicy `json:"policies" yaml:"policies"`
	ExtraPolicyArns          []string    `json:"extraPolicyArns" yaml:"extraPolicyArns"`
}

type NodeGroup

type NodeGroup struct {
	Name          string   `json:"name" yaml:"name"`
	InstanceTypes []string `json:"instanceTypes" yaml:"instanceTypes"`
	DesiredSize   int64
	MaxSize       int64
	MinSize       int64
}

type SecurityGroup

type SecurityGroup struct {
	Name         string                     `json:"name" yaml:"name"`
	InboundRules []SecurityGroupInboundRule `json:"inboundRules" yaml:"inboundRules"`
}

type SecurityGroupInboundRule

type SecurityGroupInboundRule struct {
	IPProtocol string   `json:"ipProtocol" yaml:"ipProtocol"`
	FromPort   int64    `json:"fromPort" yaml:"fromPort"`
	ToPort     int64    `json:"toPort" yaml:"toPort"`
	IPRanges   []string `json:"ipRanges" yaml:"ipRanges"`
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL