Documentation
¶
Index ¶
- type CloudSecurityGroupImpl
- func (sg *CloudSecurityGroupImpl) CreateSecurityGroup(securityGroupIdentifier *cloudresource.CloudResource, membershipOnly bool) <-chan error
- func (sg *CloudSecurityGroupImpl) DeleteSecurityGroup(securityGroupIdentifier *cloudresource.CloudResource, membershipOnly bool) <-chan error
- func (sg *CloudSecurityGroupImpl) GetSecurityGroupSyncChan() <-chan cloudresource.SynchronizationContent
- func (sg *CloudSecurityGroupImpl) UpdateSecurityGroupMembers(securityGroupIdentifier *cloudresource.CloudResource, ...) <-chan error
- func (sg *CloudSecurityGroupImpl) UpdateSecurityGroupRules(appliedToGroupIdentifier *cloudresource.CloudResource, ...) <-chan error
- type CloudSecurityGroupInterface
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CloudSecurityGroupImpl ¶ added in v0.6.0
type CloudSecurityGroupImpl struct{}
func (*CloudSecurityGroupImpl) CreateSecurityGroup ¶ added in v0.6.0
func (sg *CloudSecurityGroupImpl) CreateSecurityGroup(securityGroupIdentifier *cloudresource.CloudResource, membershipOnly bool) <-chan error
func (*CloudSecurityGroupImpl) DeleteSecurityGroup ¶ added in v0.6.0
func (sg *CloudSecurityGroupImpl) DeleteSecurityGroup(securityGroupIdentifier *cloudresource.CloudResource, membershipOnly bool) <-chan error
func (*CloudSecurityGroupImpl) GetSecurityGroupSyncChan ¶ added in v0.6.0
func (sg *CloudSecurityGroupImpl) GetSecurityGroupSyncChan() <-chan cloudresource.SynchronizationContent
func (*CloudSecurityGroupImpl) UpdateSecurityGroupMembers ¶ added in v0.6.0
func (sg *CloudSecurityGroupImpl) UpdateSecurityGroupMembers(securityGroupIdentifier *cloudresource.CloudResource, members []*cloudresource.CloudResource, membershipOnly bool) <-chan error
func (*CloudSecurityGroupImpl) UpdateSecurityGroupRules ¶ added in v0.6.0
func (sg *CloudSecurityGroupImpl) UpdateSecurityGroupRules(appliedToGroupIdentifier *cloudresource.CloudResource, addRules, rmRules []*cloudresource.CloudRule) <-chan error
type CloudSecurityGroupInterface ¶ added in v0.6.0
type CloudSecurityGroupInterface interface {
// CreateSecurityGroup request to create SecurityGroup name.
// membershipOnly is true if the SecurityGroup is used for membership tracking, not
// applying ingress/egress rules.
// Caller expects to wait on returned channel for status
CreateSecurityGroup(name *cloudresource.CloudResource, membershipOnly bool) <-chan error
// UpdateSecurityGroupRules updates SecurityGroup name's ingress/egress rules in entirety.
// SecurityGroup name must already been created. SecurityGroups referred to in ingressRules and
// egressRules must have been already created.
UpdateSecurityGroupRules(name *cloudresource.CloudResource, addRules, rmRules []*cloudresource.CloudRule) <-chan error
// UpdateSecurityGroupMembers updates SecurityGroup name with members.
// SecurityGroup name must already have been created.
// For appliedSecurityGroup, UpdateSecurityGroupMembers is called only if SG has
// rules configured.
UpdateSecurityGroupMembers(name *cloudresource.CloudResource, members []*cloudresource.CloudResource, membershipOnly bool) <-chan error
// DeleteSecurityGroup deletes SecurityGroup name.
// SecurityGroup name must already been created, is empty.
DeleteSecurityGroup(name *cloudresource.CloudResource, membershipOnly bool) <-chan error
// GetSecurityGroupSyncChan returns a channel that networkPolicy controller waits on to retrieve complete SGs
// configured by cloud plug-in.
// Usage patterns:
// 1. Controller calls it at initialization to obtains the channel.
// 2. Controller waits on channel returned in 1, and expects that when channel wakes up it return the entire SGs configured.
// 3. Plug-in shall wake up the channel initially after sync up with the cloud; and then periodically.
// 4. Controller, upon receive entire SGs set, proceed to reconcile between K8s configuration and cloud configuration.
// This API ensures cloud plug-in stays stateless.
// - Correct SGs accidentally changed by customers via cloud API/console directly.
GetSecurityGroupSyncChan() <-chan cloudresource.SynchronizationContent
}
CloudSecurityGroupInterface declares interface to program cloud security groups.
var ( // CloudSecurityGroup is global entry point to configure cloud specific security group. CloudSecurityGroup CloudSecurityGroupInterface )
Click to show internal directories.
Click to hide internal directories.