mirror of
https://github.com/fog/fog.git
synced 2022-11-09 13:51:43 -05:00
Revert "adding support for network interfaces and public IP association (non-default VPCs) for EC2 spot instances"
This reverts commit 69a68a1809
.
This commit is contained in:
parent
69a68a1809
commit
d6424983d6
2 changed files with 0 additions and 52 deletions
|
@ -27,8 +27,6 @@ module Fog
|
|||
attribute :image_id, :aliases => 'LaunchSpecification.ImageId'
|
||||
attribute :monitoring, :aliases => 'LaunchSpecification.Monitoring'
|
||||
attribute :block_device_mapping, :aliases => 'LaunchSpecification.BlockDeviceMapping'
|
||||
attribute :associate_public_ip, :aliases => 'associatePublicIP'
|
||||
attribute :network_interfaces, :aliases => 'LaunchSpecification.NetworkInterface'
|
||||
attribute :subnet_id, :aliases => 'LaunchSpecification.SubnetId'
|
||||
attribute :iam_instance_profile, :aliases => 'LaunchSpecification.IamInstanceProfile'
|
||||
|
||||
|
@ -92,7 +90,6 @@ module Fog
|
|||
'InstanceCount' => instance_count,
|
||||
'LaunchGroup' => launch_group,
|
||||
'LaunchSpecification.BlockDeviceMapping' => block_device_mapping,
|
||||
'LaunchSpecification.NetworkInterface' => network_interfaces,
|
||||
'LaunchSpecification.KeyName' => key_name,
|
||||
'LaunchSpecification.Monitoring.Enabled' => monitoring,
|
||||
'LaunchSpecification.Placement.AvailabilityZone' => availability_zone,
|
||||
|
@ -107,30 +104,6 @@ module Fog
|
|||
'ValidUntil' => valid_until }
|
||||
options.delete_if {|key, value| value.nil?}
|
||||
|
||||
# If subnet is defined then this is a Virtual Private Cloud.
|
||||
# subnet & security group cannot co-exist. Attempting to specify
|
||||
# both subnet and groups will cause an error. Instead please make
|
||||
# use of Security Group Ids when working in a VPC.
|
||||
if subnet_id
|
||||
options.delete('LaunchSpecification.SecurityGroup')
|
||||
if associate_public_ip
|
||||
options['LaunchSpecification.NetworkInterface.0.DeviceIndex'] = 0
|
||||
options['LaunchSpecification.NetworkInterface.0.AssociatePublicIpAddress'] = associate_public_ip
|
||||
options['LaunchSpecification.NetworkInterface.0.SubnetId'] = options['SubnetId']
|
||||
options.delete('LaunchSpecification.SubnetId')
|
||||
if options['LaunchSpecification.SecurityGroupId'].kind_of?(Array)
|
||||
options['LaunchSpecification.SecurityGroupId'].each {|id|
|
||||
options["LaunchSpecification.NetworkInterface.0.SecurityGroupId.#{options['LaunchSpecification.SecurityGroupId'].index(id)}"] = id
|
||||
}
|
||||
else
|
||||
options['LaunchSpecification.NetworkInterface.0.SecurityGroupId.0'] = options['LaunchSpecification.SecurityGroupId']
|
||||
end
|
||||
options.delete('LaunchSpecification.SecurityGroupId')
|
||||
end
|
||||
else
|
||||
options.delete('SubnetId')
|
||||
end
|
||||
|
||||
data = service.request_spot_instances(image_id, flavor_id, price, options).body
|
||||
spot_instance_request = data['spotInstanceRequestSet'].first
|
||||
spot_instance_request['launchSpecification'].each do |name,value|
|
||||
|
|
|
@ -21,18 +21,6 @@ module Fog
|
|||
# * 'Ebs.NoDevice'<~String> - specifies that no device should be mapped
|
||||
# * 'Ebs.VolumeSize'<~String> - size of volume in GiBs required unless snapshot is specified
|
||||
# * 'Ebs.DeleteOnTermination'<~String> - specifies whether or not to delete the volume on instance termination
|
||||
# * 'LaunchSpecification.NetworkInterfaces'<~Array>: array of hashes
|
||||
# * 'NetworkInterfaceId'<~String> - An existing interface to attach to a single instance
|
||||
# * 'DeviceIndex'<~String> - The device index. Applies both to attaching an existing network interface and creating a network interface
|
||||
# * 'SubnetId'<~String> - The subnet ID. Applies only when creating a network interface
|
||||
# * 'Description'<~String> - A description. Applies only when creating a network interface
|
||||
# * 'PrivateIpAddress'<~String> - The primary private IP address. Applies only when creating a network interface
|
||||
# * 'SecurityGroupId'<~Array> or <~String> - ids of security group(s) for network interface. Applies only when creating a network interface.
|
||||
# * 'DeleteOnTermination'<~String> - Indicates whether to delete the network interface on instance termination.
|
||||
# * 'PrivateIpAddresses.PrivateIpAddress'<~String> - The private IP address. This parameter can be used multiple times to specify explicit private IP addresses for a network interface, but only one private IP address can be designated as primary.
|
||||
# * 'PrivateIpAddresses.Primary'<~Bool> - Indicates whether the private IP address is the primary private IP address.
|
||||
# * 'SecondaryPrivateIpAddressCount'<~Bool> - The number of private IP addresses to assign to the network interface.
|
||||
# * 'AssociatePublicIpAddress'<~String> - Indicates whether to assign a public IP address to an instance in a VPC. The public IP address is assigned to a specific network interface
|
||||
# * 'LaunchSpecification.KeyName'<~String> - Name of a keypair to add to booting instances
|
||||
# * 'LaunchSpecification.Monitoring.Enabled'<~Boolean> - Enables monitoring, defaults to disabled
|
||||
# * 'LaunchSpecification.SubnetId'<~String> - VPC subnet ID in which to launch the instance
|
||||
|
@ -76,19 +64,6 @@ module Fog
|
|||
end
|
||||
end
|
||||
end
|
||||
if network_interfaces = options.delete('LaunchSpecification.NetworkInterfaces')
|
||||
network_interfaces.each_with_index do |mapping, index|
|
||||
iface = format("LaunchSpecification.NetworkInterface.%d", index)
|
||||
for key, value in mapping
|
||||
case key
|
||||
when "SecurityGroupId"
|
||||
options.merge!(Fog::AWS.indexed_param("#{iface}.SecurityGroupId", [*value]))
|
||||
else
|
||||
options.merge!({ "#{iface}.#{key}" => value })
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
if security_groups = options.delete('LaunchSpecification.SecurityGroup')
|
||||
options.merge!(Fog::AWS.indexed_param('LaunchSpecification.SecurityGroup', [*security_groups]))
|
||||
end
|
||||
|
|
Loading…
Add table
Reference in a new issue