Documentation ¶
Index ¶
- func NewDefaultSecurityGroupManager(ec2Client services.EC2, trackingProvider tracking.Provider, ...) *defaultSecurityGroupManager
- func NewDefaultTaggingManager(ec2Client services.EC2, networkingSGManager networking.SecurityGroupManager, ...) *defaultTaggingManager
- func NewSecurityGroupSynthesizer(ec2Client services.EC2, trackingProvider tracking.Provider, ...) *securityGroupSynthesizer
- type ReconcileTagsOption
- type ReconcileTagsOptions
- type SecurityGroupManager
- type TaggingManager
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewDefaultSecurityGroupManager ¶
func NewDefaultSecurityGroupManager(ec2Client services.EC2, trackingProvider tracking.Provider, taggingManager TaggingManager, networkingSGReconciler networking.SecurityGroupReconciler, vpcID string, externalManagedTags []string, logger logr.Logger) *defaultSecurityGroupManager
NewDefaultSecurityGroupManager constructs new defaultSecurityGroupManager.
func NewDefaultTaggingManager ¶
func NewDefaultTaggingManager(ec2Client services.EC2, networkingSGManager networking.SecurityGroupManager, vpcID string, logger logr.Logger) *defaultTaggingManager
NewDefaultTaggingManager constructs new defaultTaggingManager.
func NewSecurityGroupSynthesizer ¶
func NewSecurityGroupSynthesizer(ec2Client services.EC2, trackingProvider tracking.Provider, taggingManager TaggingManager, sgManager SecurityGroupManager, vpcID string, logger logr.Logger, stack core.Stack) *securityGroupSynthesizer
NewSecurityGroupSynthesizer constructs new securityGroupSynthesizer.
Types ¶
type ReconcileTagsOption ¶
type ReconcileTagsOption func(opts *ReconcileTagsOptions)
func WithCurrentTags ¶
func WithCurrentTags(tags map[string]string) ReconcileTagsOption
WithCurrentTags is a reconcile option that supplies current tags.
func WithIgnoredTagKeys ¶
func WithIgnoredTagKeys(ignoredTagKeys []string) ReconcileTagsOption
WithIgnoredTagKeys is a reconcile option that configures IgnoredTagKeys.
type ReconcileTagsOptions ¶
type ReconcileTagsOptions struct { // CurrentTags on resources. // when it's nil, the TaggingManager will try to get the CurrentTags from AWS CurrentTags map[string]string // IgnoredTagKeys defines the tag keys that should be ignored. // these tags shouldn't be altered or deleted. IgnoredTagKeys []string }
options for ReconcileTags API.
func (*ReconcileTagsOptions) ApplyOptions ¶
func (opts *ReconcileTagsOptions) ApplyOptions(options []ReconcileTagsOption)
type SecurityGroupManager ¶
type SecurityGroupManager interface { Create(ctx context.Context, resSG *ec2model.SecurityGroup) (ec2model.SecurityGroupStatus, error) Update(ctx context.Context, resSG *ec2model.SecurityGroup, sdkSG networking.SecurityGroupInfo) (ec2model.SecurityGroupStatus, error) Delete(ctx context.Context, sdkSG networking.SecurityGroupInfo) error }
SecurityGroupManager is responsible for create/update/delete SecurityGroup resources.
type TaggingManager ¶
type TaggingManager interface { // ReconcileTags will reconcile tags on resources. ReconcileTags(ctx context.Context, resID string, desiredTags map[string]string, opts ...ReconcileTagsOption) error // ListSecurityGroups returns SecurityGroups that matches any of the tagging requirements. ListSecurityGroups(ctx context.Context, tagFilters ...tracking.TagFilter) ([]networking.SecurityGroupInfo, error) }
abstraction around tagging operations for EC2.
Click to show internal directories.
Click to hide internal directories.