@@ -86,6 +86,7 @@ type Driver struct {
8686 SecurityGroupName string
8787 SecurityGroupNames []string
8888
89+ SecurityGroupReadOnly bool
8990 OpenPorts []string
9091 Tags string
9192 ReservationId string
@@ -161,6 +162,11 @@ func (d *Driver) GetCreateFlags() []mcnflag.Flag {
161162 Usage : "AWS VPC subnet id" ,
162163 EnvVar : "AWS_SUBNET_ID" ,
163164 },
165+ mcnflag.BoolFlag {
166+ Name : "amazonec2-security-group-readonly" ,
167+ Usage : "Skip adding default rules to security groups" ,
168+ EnvVar : "AWS_SECURITY_GROUP_READONLY" ,
169+ },
164170 mcnflag.StringSliceFlag {
165171 Name : "amazonec2-security-group" ,
166172 Usage : "AWS VPC security group" ,
@@ -348,6 +354,7 @@ func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error {
348354 d .VpcId = flags .String ("amazonec2-vpc-id" )
349355 d .SubnetId = flags .String ("amazonec2-subnet-id" )
350356 d .SecurityGroupNames = flags .StringSlice ("amazonec2-security-group" )
357+ d .SecurityGroupReadOnly = flags .Bool ("amazonec2-security-group-readonly" )
351358 d .Tags = flags .String ("amazonec2-tags" )
352359 zone := flags .String ("amazonec2-zone" )
353360 d .Zone = zone [:]
@@ -1141,6 +1148,10 @@ func (d *Driver) configureSecurityGroups(groupNames []string) error {
11411148}
11421149
11431150func (d * Driver ) configureSecurityGroupPermissions (group * ec2.SecurityGroup ) ([]* ec2.IpPermission , error ) {
1151+ if d .SecurityGroupReadOnly {
1152+ log .Debug ("Skipping permission configuration on security groups" )
1153+ return nil , nil
1154+ }
11441155 hasPorts := make (map [string ]bool )
11451156 for _ , p := range group .IpPermissions {
11461157 if p .FromPort != nil {
0 commit comments