def attach_classic_link_vpc(instance_id, vpc_id, security_group_ids, dry_run=false)
response = Excon::Response.new
vpc = self.data[:vpcs].find{ |v| v['vpcId'] == vpc_id }
instance = self.data[:instances][instance_id]
if vpc && instance
if instance['instanceState']['name'] != 'running' || instance['vpcId']
raise Fog::Compute::AWS::Error.new("Client.InvalidInstanceID.NotLinkable => Instance #{instance_id} is unlinkable")
end
if instance['classicLinkVpcId']
raise Fog::Compute::AWS::Error.new("Client.InvalidInstanceID.InstanceAlreadyLinked => Instance #{instance_id} is already linked")
end
response.status = 200
response.body = {
'requestId' => Fog::AWS::Mock.request_id,
'return' => true
}
unless dry_run
instance['classicLinkSecurityGroups'] = security_group_ids
instance['classicLinkVpcId'] = vpc_id
end
response
elsif !instance
raise Fog::Compute::AWS::NotFound.new("The instance ID '#{instance_id}' does not exist.")
elsif !vpc
raise Fog::Compute::AWS::NotFound.new("The VPC '#{vpc_id}' does not exist.")
end
end