@@ -112,6 +112,7 @@ type Driver struct {
112112 RootVolumeOpts * services.DiskOpts `json:"-"`
113113 UserDataFile string `json:"-"`
114114 UserData []byte `json:"-"`
115+ Tags []string `json:"-"`
115116 IPVersion int `json:"-"`
116117 skipEIPCreation bool
117118 eipConfig * services.ElasticIPOpts
@@ -407,6 +408,13 @@ func (d *Driver) createInstance() error {
407408 return err
408409 }
409410 d .InstanceID = instance .ID
411+
412+ if len (d .Tags ) > 0 {
413+ if err := d .client .AddTags (d .InstanceID , d .Tags ); err != nil {
414+ return err
415+ }
416+ }
417+
410418 if err := d .client .WaitForInstanceStatus (d .InstanceID , services .InstanceStatusRunning ); err != nil {
411419 return err
412420 }
@@ -662,6 +670,11 @@ func (d *Driver) GetCreateFlags() []mcnflag.Flag {
662670 Usage : "Set volume size of root partition" ,
663671 Value : defaultVolumeSize ,
664672 },
673+ mcnflag.StringFlag {
674+ Name : "otc-tags" ,
675+ EnvVar : "OS_TAGS" ,
676+ Usage : "Comma-separated list of instance tags" ,
677+ },
665678 mcnflag.StringFlag {
666679 Name : "otc-root-volume-type" ,
667680 EnvVar : "ROOT_VOLUME_TYPE" ,
@@ -982,6 +995,10 @@ func (d *Driver) SetConfigFromFlags(flags drivers.DriverOptions) error {
982995 d .UserData = []byte (flags .String ("otc-user-data-raw" ))
983996 d .ServerGroup = flags .String ("otc-server-group" )
984997 d .ServerGroupID = flags .String ("otc-server-group-id" )
998+ tags := flags .String ("otc-tags" )
999+ if tags != "" {
1000+ d .Tags = strings .Split (tags , "," )
1001+ }
9851002 d .AccessKey = services.AccessKey {
9861003 AccessKey : flags .String ("otc-access-key-id" ),
9871004 SecretKey : flags .String ("otc-access-key-key" ),
0 commit comments